将文件导入hdfs的不同方法

yebdmbv4  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(734)

我想知道有哪些不同的方法可以将数据引入hdfs。
我是hadoop的新手,到目前为止还是一名javaweb开发人员。我想知道如果我有一个正在创建日志文件的web应用程序,如何将日志文件导入hdfs。

vlf7wbxs

vlf7wbxs1#

关于如何将数据摄取到HDF中,有很多种方法,让我在这里举例说明: hdfs dfs -put -将文件从本地文件系统插入hdfs的简单方法
hdfs java api
sqoop-用于将数据引入/引出数据库
flume-流文件、日志
kafka分布式队列,主要用于近实时流处理
nifi-在apache孵化项目,用于将数据移动到hdfs中,而无需进行大量更改
将web应用程序日志带到hdfs的最佳解决方案是通过flume。

wqsoz72f

wqsoz72f2#

我们有三种不同类型的数据-结构化(基于模式的系统,如oracle/mysql等)、非结构化(图像、Weblog等)和半结构化数据(xml等)
结构化数据可以以行和列的形式存储在数据库sql表中
半结构化数据是不驻留在关系数据库中的信息,但它确实具有一些组织属性,使其更易于分析。通过一些过程,您可以将它们存储在关系数据库(例如xml)中
非结构化数据通常包括文本和多媒体内容。例如电子邮件、文字处理文档、视频、照片、音频文件、演示文稿、网页和许多其他类型的业务文档。
根据数据的类型,您将选择将数据导入hdfs的工具。
您的公司可能会使用crm、erp工具。但我们并不确切地知道数据是如何组织和结构的。
如果我们留下简单的hdfs命令,比如put、copyfromlocal等,将数据加载到hdfs兼容的格式中,下面是将数据加载到hdfs中的主要工具
apache sqoop(tm)是一种设计用于在apache hadoop和结构化数据存储(如关系数据库)之间高效传输大量数据的工具。mysql、sqlserver和oracle表中的数据可以通过这个工具加载到hdfs中。
apacheflume是一种分布式的、可靠的、可用的服务,用于高效地收集、聚合和移动大量日志数据。它具有基于流数据流的简单灵活的体系结构。它具有健壮性和容错性,具有可调的可靠性机制和多种故障切换和恢复机制。
其他工具包括chukwa、storm和kafka
但另一项正在变得非常流行的重要技术是spark。它是hadoop的朋友和敌人。
spark正在成为hadoop的一个很好的实时数据处理替代品,hadoop可以使用hdfs作为数据源,也可以不使用hdfs作为数据源。

相关问题