导入文件到HDFS的不同方式



我想知道我可以通过哪些不同的方式将数据导入HDFS。

我是一个新手Hadoop和java web开发人员,直到这个时候。我想知道如果我有一个正在创建日志文件的web应用程序,我如何将日志文件导入HDFS。

如何将数据摄取到HDFS有很多方法,让我在这里试着说明它们:

  1. hdfs dfs -put -从本地文件系统插入文件到HDFS的简单方法
  2. HDFS Java API
  3. Sqoop -用于将数据导入/从数据库
  4. Flume -流文件,日志
  5. Kafka -分布式队列,主要用于近实时流处理
  6. Nifi - Apache的孵化项目,用于将数据移动到HDFS而无需进行大量更改

将web应用日志带到HDFS的最佳解决方案是通过Flume。

我们有三种不同类型的数据-结构化(基于模式的系统,如Oracle/MySQL等),非结构化(图像,weblogs等)和半结构化数据(XML等)

结构化数据可以存储在数据库SQL中的表中,其中包含行和列

半结构化数据是不存在于关系数据库中的信息,但它确实具有一些使其更易于分析的组织属性。通过一些进程,你可以将它们存储在关系数据库中(例如XML)

非结构化数据通常包括文本和多媒体内容。例子包括电子邮件、文字处理文档、视频、照片、音频文件、演示文稿、网页和许多其他类型的商业文档。

根据您的数据类型,您将选择将数据导入HDFS的工具

贵公司可能使用CRM、ERP工具。但我们并不确切地知道这些数据是如何组织起来的。结构化的。

如果我们留下简单的HDFS命令,如put, copyFromLocal等,将数据加载到HDFS兼容的格式,下面是将数据加载到HDFS的主要工具

Apache Sqoop(TM)是一个用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具。数据来自MySQL, SQL Server &Oracle表可以通过这个工具加载到HDFS。

Apache Flume是一个分布式的、可靠的、可用的服务,用于高效地收集、聚合和移动大量的日志数据。它具有基于流数据流的简单灵活的架构。它具有健壮性和容错性,具有可调的可靠性机制和许多故障转移和恢复机制。

其他工具包括Chukwa,Storm和Kafka

但另一个重要的技术,它变得非常流行的是Spark。它是一个朋友。for Hadoop.

Spark正在成为Hadoop的一个很好的实时数据处理替代品,它可能使用HDFS作为数据源,也可能不使用HDFS。

相关内容

  • 没有找到相关文章

最新更新