flume和sqoop有什么区别?

sqxo8psd  于 2021-06-03  发布在  Hadoop
关注(0)|答案(7)|浏览(525)

flume和sqoop都是用于数据移动的,那么它们之间有什么区别呢?在什么情况下我应该使用flume或sqoop?

djmepvbi

djmepvbi1#

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.

你可以看到完整的帖子

1bqhqjot

1bqhqjot2#

apachesqoop和apacheflume使用各种数据源。flume在hadoop环境中连续生成的流数据源(如来自多个服务器的日志文件)中运行良好。
而apachesqoop的设计可以很好地与任何具有jdbc连接的关系数据库系统一起工作。
sqoop还可以从nosql数据库(如mongodb或cassandra)导入数据,还允许直接数据传输、hive或hdfs。为了使用apachesqoop工具将数据传输到hive,必须创建一个表,该表的模式取自数据库本身。
在apacheflume中,数据加载是事件驱动的,而在apachesqoop中,数据加载不是由事件驱动的。
4.当从各种来源(如jms或假脱机目录)移动大量流数据时,flume是一个更好的选择,而sqoop是一个理想的选择如果数据位于teradata、oracle、mysql server、postgres或任何其他jdbc兼容的数据库中,那么最好使用apache sqoop。
5.在apacheflume中,数据通过多个通道流到hdfs,而在apachesqoop中,hdfs是导入数据的目的地。
6.apache flume具有基于代理的体系结构,即在flume中编写的代码称为代理,负责获取数据,而在apache sqoop中,体系结构基于连接器。sqoop中的连接器知道如何连接各种数据源并相应地获取数据。
最后,sqoop和flume不能用于完成相同的任务,因为它们是专门为不同的目的而开发的。apacheflume代理被设计成从twitter或web服务器的日志文件中获取流数据,而sqoop连接器被设计成只与结构化数据源一起工作并从它们获取数据。
apachesqoop主要用于并行数据传输,用于数据导入,因为它可以快速复制数据,而apacheflume由于其分布式、可靠的特性和高度可用的备份路由而用于收集和聚合数据。

6tr1vspr

6tr1vspr3#

sqoop和flume都是为了满足数据接收需求,但它们的用途不同。apacheflume适用于hadoop环境中连续生成的流数据源,例如来自多个服务器的日志文件,而apachesqoop适用于任何具有jdbc连接的rdbms。
sqoop实际上用于hadoop和任何其他结构化数据存储之间的批量数据传输。flume从许多来源收集日志数据,将其聚合,并将其写入hdfs。
我看到了这个有趣的信息图,它解释了两个apache项目sqoop和flume之间的区别-
sqoop和flume的区别

ckx4rj1h

ckx4rj1h4#

sqoop公司
sqoop可以执行从rdbms到hdfs/hive/hbase的导入/导出
sqoop只导入/导出结构化数据,而不是非结构化或半结构化数据。
渡槽
从多个源导入流数据—本质上主要是半结构化和非结构化的。现在Kafka是Flume更好的选择。

moiiocjp

moiiocjp5#

sqoop和flume都从源中提取数据并将其推送到接收器。主要区别在于flume是事件驱动的,而sqoop不是。

ej83mcc0

ej83mcc06#

从http://flume.apache.org/
flume是一种分布式的、可靠的、可用的服务,用于高效地收集、聚合和移动大量日志数据。
flume有助于从各种来源收集数据,如日志、jms、目录等。
可以配置多个flume代理来收集大量数据。
它水平伸缩。
从http://sqoop.apache.org/
apache sqoop(tm)是一种设计用于在apache hadoop和结构化数据存储(如关系数据库)之间高效传输大量数据的工具。
sqoop有助于在hadoop和其他数据库之间移动数据,它可以并行传输数据以提高性能。

c86crjj0

c86crjj07#

flume:一个非常常见的用例是从一个系统(一组web服务器)收集日志数据(将其聚合到hdfs中以供以后分析)。
另一方面,sqoop设计用于从结构化数据存储执行数据到hdfs的批量导入。简单的用例将是一个组织,它每夜运行一次sqoop导入,将一天的数据从生产数据库加载到hive数据仓库中进行分析。
--来自权威指南。

相关问题