根据您的用例,有多种方法可以将非结构化数据导入Hadoop。
1.使用HDFS shell命令,例如从本地放置或复制,将平面文件移动到HDFS中。有关详细信息,请参阅文件系统shell指南。
2.使用WebHDFS REST API进行应用程序集成。WebHDFS REST API.
3.使用Apache Flume。它是一种分布式,可靠和可用的系统,用于有效地收集,聚合和将来自许多不同来源的大量数据移动到集中数据存储,例如HDF。虽然历史上涉及日志数据收集/聚合的Flume的大量用例,但是Flume可以与Kafka一起使用,并将自己变成实时事件处理管道。
4.使用风暴,通用,事件处理系统。在由螺栓和喷口组成的拓扑中,它可用于将基于事件的非结构化数据摄入到Hadoop中
火花的流式流组件提供了另一种选择,可以将实时非结构化数据摄入到HDF中。它的加工模型与风暴完全不同。虽然一次常规处理传入事件一次,但是Spark Streaming实际上批量在处理之前在短时间内到达的事件。它被称为迷你批次。当然,火花流在火花核心计算引擎的顶部运行,这些引擎在磁盘上比MapReduce更快地旋转,磁盘上的10倍。