Apache Sqoop与Apache Flume比较


选择 ETL 解决方案的目标是确保数据以符合分析要求的速率进入 Hadoop,以及顶级 Hadoop 数据摄取工具, 如Apache Kafka、Apache NIFI (Hortonworks DataFlow)、Gobblin、Apache Flume 和 Apache Sqoop。
了解 ETL 工具之间的差异至关重要,所以本文将重点介绍 Apache Sqoop 和 Flume。

  • Apache Sqoop

Sqoop是一个Hadoop工具,允许我们从关系数据库中导入数据到Hadoop。它主要是与RDBMS(如MySQL、Oracle等)一起使用。
Sqoop与任何支持JDBC的RDBMS兼容数据流连接, Sqoop是一种工具,用于并行将数据从关系型数据库移动到Hadoop环境中。
Apache Sqoop中的数据负载不是由事件驱动的。
如果你的数据存储在Teradata、Oracle、MySQL服务器,或Postgres。Sqoop是一种被选择的途径。
HDFS文件系统是导入数据的地方。
Sqoop用于数据导入和并行数据传输,因为它有快速复制数据的能力,当我们需要快速复制数据和聚合并产生分析结果,我们使用Apache Sqoop。
Apache Sqoop的架构是基于连接器的。Sqoop连接器了解如何连接到各种数据源。
Sqoop支持直接输入,这意味着它可以映射关系型,直接导入HBase和Hive。
通过将处理负载和额外的存储转移到其他系统,Apache Sqoop减少了处理负载和存储。有快速的性能,Sqoop将数据传输并行化,系统的利用率和快速性能。
  • Apache Flume

Apache Flume是一项服务,可以将日志流传到Hadoop集群中。它主要是用于将来自各种源的流式数据如日志文件传送到Hadoop中。
Flume可以很好地与流式数据源进行连接,这些数据源是可以来自很多服务器的日志文件。
Apache Flume是一个事件驱动的系统。
当从不同的服务器传输大量的流媒体数据时,诸如JMS或spooling目录等来源的数据时,Flume是一个很好的选择。
数据从多个渠道流向HDFS系统。
由于其分布式的、可靠的性质和高度的稳定性,Flume用于数据收集和聚合。Flume被用来从各种数据中提取数据,并评估模式,对服务器日志和社交媒体数据进行情感分析。
Apache Flume的特点是基于代理的架构。在Flume中一个代理负责获取数据。
虽然有声明式的配置,但它是可扩展的。
Apache Flume是一个高度可靠的、可线性扩展的、流系统。具有可定制的故障转移和存储的容错系统。Flume是一个高吞吐量和低延迟的灵活的数据摄取工具