Flume和Sqoop都是用于数据移动的,那么它们之间有什么区别?在什么条件下我应该使用Flume还是Sqoop?
答案 0 :(得分:23)
Flume是一种分布式,可靠且可用的服务 有效地收集,聚合和移动大量日志 数据
Flume有助于从各种来源收集数据,例如日志,jms,目录等。
可以配置多个水槽代理来收集大量数据。
它水平缩放。
Apache Sqoop(TM)是一种专为高效传输批量而设计的工具 Apache Hadoop和结构化数据存储之间的数据,如 关系数据库。
Sqoop有助于在hadoop和其他数据库之间移动数据,它可以并行传输数据以提高性能。
答案 1 :(得分:10)
Sqoop和Flume都从源中提取数据并将其推送到接收器。主要区别是Flume是事件驱动的,而Sqoop则不是。
答案 2 :(得分:4)
水槽: 一个非常常见的用例是从一个系统收集日志数据 - 一组Web服务器(将其聚合在HDFS中以供以后分析)。
Sqoop: 另一方面,它旨在从结构化数据存储中执行批量导入数据到HDFS。简单的用例将是一个运行夜间sqoop导入的组织,将当天的数据从生产数据库加载到Hive数据仓库进行分析。
- 来自最终指南。
答案 3 :(得分:4)
Flume:
Flume is a framework for populating Hadoop with data. Agents are populated
throughout ones IT infrastructure – inside web servers, application servers
and mobile devices, for example – to collect data and integrate it into Hadoop.
Sqoop:
Sqoop is a connectivity tool for moving data from non-Hadoop data stores – such
as relational databases and data warehouses – into Hadoop. It allows users to
specify the target location inside of Hadoop and instruct Sqoop to move data
from Oracle,Teradata or other relational databases to the target.
您可以看到完整的Post
答案 4 :(得分:1)
而Apache Sqoop旨在与任何具有JDBC连接的关系数据库系统一起使用。
Sqoop还可以从NoSQL数据库(如MongoDB或Cassandra)导入数据,还可以直接传输数据或Hive或HDFS。要使用Apache Sqoop工具将数据传输到Hive,必须创建一个表,该表从数据库本身获取模式。
在Apache Flume中,数据加载是事件驱动的,而在Apache Sqoop中,数据加载不是由事件驱动的。
4.当从JMS或Spooling目录等各种来源移动批量流数据时,Flume是更好的选择,而如果数据位于Teradata,Oracle,MySQL Server,Postgres或任何其他JDBC兼容的数据库中,则Sqoop是理想的选择。数据库然后最好使用Apache Sqoop。
5.在Apache Flume中,数据通过多个通道流向HDFS,而在Apache Sqoop中,HDFS是导入数据的目的地。
6.Apache Flume具有基于代理的体系结构,即用水槽编写的代码称为代理,负责获取数据,而在Apache Sqoop中,该体系结构基于连接器。 Sqoop中的连接器知道如何连接各种数据源并相应地获取数据。最后,Sqoop和Flume不能用于完成相同的任务,因为它们是专为不同目的而开发的。 Apache Flume代理程序用于从Twitter发送推文或从Web服务器发送日志文件等流数据,而Sqoop连接器只能用于结构化数据源并从中获取数据。
Apache Sqoop主要用于数据导入的并行数据传输,因为它可以快速复制数据,因为Apache Flume用于收集和聚合数据,因为它具有分布式,可靠性和高可用性的备份路径。
答案 5 :(得分:0)
Sqoop和Flume都旨在满足数据摄取需求,但它们用于不同的目的。 Apache Flume适用于在hadoop环境中连续生成的流数据源,例如来自多个服务器的日志文件,而Apache Sqoop适用于任何具有JDBC连接的RDBMS。
Sqoop实际上是用于hadoop和任何其他结构化数据存储之间的批量数据传输。 Flume从许多来源收集日志数据,汇总并将其写入HDFS。
我遇到了这个有趣的信息图,解释了两个apache项目之间的差异Sqoop and Flume -
答案 6 :(得分:0)
Sqoop
水槽