Sqoop 和 Flume 的说明

Clarification of Sqoop and Flume

我是大数据的新手,我对 Sqoop 和 Flume

没有什么困惑

所以我明白了 Sqoop 和 Flume

之间的区别

我的困惑是因为我正在查看(我没有虚拟副本)分组结构化数据的大数据架构及其由 Sqoop 传输和非结构化数据由 Flume 流式传输。

我的问题是,这是否意味着 Flume 仅用于流式传输?

高频数据呢? Flume 是否支持传输非日志文件(即音频、视频)的非结构化数据,或者 Sqoop 是否能够处理?

最后一个问题是 Sqoop 可以使用联合数据源吗?如果是,同时使用真实和虚拟?

谢谢,

sqoop 本质上是一个从 RDBMS 获取 HDFS 数据的工具。在底层,它生成简单的 Java 代码,将查询提交到 RDBMS 并将结果写入 HDFS。这意味着您可以使用 sqoop 导入所有可以通过 JDBC 连接访问并且有可用的 Java 驱动程序的东西。因此,您不能将它用于文件(如日志)或类似的东西。

那么sqoop无法处理视频或音频文件。

Flume,而是用于实时监控和摄取信息。您可以提取任何有 Flume 可用来源 (https://flume.apache.org/FlumeUserGuide.html#flume-sources) 的内容。

Apache Flume 是一个分布式、可靠且可用的系统,用于有效地收集、聚合来自许多不同来源的大量日志数据并将其移动到集中数据商店。

Apache Flume 的使用不仅限于日志数据聚合。由于数据源是可定制的,Flume 可用于传输大量事件数据,包括但不限于网络流量数据、社交媒体生成的数据、电子邮件消息和几乎任何数据源可能。


Apache Sqoop 是一种设计用于在 Apache Hadoop 和结构化数据存储(例如关系数据库)之间高效传输批量数据的工具(它导入数据,在 Hadoop MapReduce 中转换数据,然后导出数据)。

Sqoop 自动执行此过程的大部分,依靠数据库来描述要导入的数据的架构。 Sqoop使用MapReduce导入导出数据,提供并行操作和容错。


来源:sqoop-vs-flume-battle-of-the-hadoop

参考:INGESTION AND STREAMING


Flume 对流很有效,如果你只想从 RDBMS 转储数据,为什么不使用 sqoop?

通过高频数据,如果你的意思是社交媒体是 flume 可以处理它。非结构化数据是的,flume 也可以处理。