在我们了解Flume和Sqoop之前,让我们研究数据加载到Hadoop的问题:
使用Hadoop分析处理数据,需要装载大量从不同来源的数据到Hadoop集群。
从不同来源大容量的数据加载到Hadoop,然后这个过程处理它,这具有一定的挑战。
维护和确保数据的一致性,并确保资源的有效利用,选择正确的方法进行数据加载前有一些因素是要考虑的。
主要问题:
1. 使用脚本加载数据
传统的使用脚本加载数据的方法,不适合于大容量数据加载到 Hadoop;这种方法效率低且非常耗时。
2. 通过 Map-Reduce 应用程序直接访问外部数据
提供了直接访问驻留在外部系统中的数据(不加载到Hadopp)到map reduce,这些应用程序复杂性。所以,这种方法是不可行的。
3.除了具有庞大的数据的工作能力,Hadoop可以在几种不同形式的数据上工作。这样,装载此类异构数据到Hadoop,不同的工具已经被开发。Sqoop和Flume 就是这样的数据加载工具。
SQOOP介绍
Apache Sqoop(SQL到Hadoop)被设计为支持批量从结构化数据存储导入数据到HDFS,如关系数据库,企业级数据仓库和NoSQL系统。Sqoop是基于一个连接器体系结构,它支持插件来提供连接到新的外部系统。
一个Sqoop 使用的例子是,一个企业运行在夜间使用 Sqoop 导入当天的生产负荷交易的RDBMS 数据到 Hive 数据仓库作进一步分析。
Sqoop 连接器
现有数据库管理系统的设计充分考虑了SQL标准。但是,每个不同的 DBMS 方言化到某种程度。因此,