求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 
 
     
   
    全部     工程实例     标准规范     名校讲义     知识库    
 
 

Hadoop教程
Hadoop大数据解决方案
Hadoop介绍快速入门
Hadoop安装
Hadoop HDFS入门
MapReduce简介和入门
Hadoop程序入门实践
理解 MapReducer
MapReduce计数器和连接
MapReduce程序连接数据
Flume和Sqoop
Pig & Hive介绍
OOZIE 五分钟入门学习
 
 

Flume和Sqoop

    您可以捐助,支持我们的公益事业。

金额: 1元 10元 50元

姓名:

邮件:

电话:

公司:

说明:

认证码: 验证码,看不清楚?请点击刷新验证码 必填



 
 捐助

在我们了解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 方言化到某种程度。因此,这种差异带来的挑战,当涉及到整个系统的数据传输。Sqoop连接器就是用来解决这些挑战的组件。

Sqoop和外部存储系统之间的数据传输在 Sqoop 连接器的帮助下使得有可能。

Sqoop 连接器与各种流行的关系型数据库,包括:MySQL, PostgreSQL, Oracle, SQL Server 和 DB2 工作。每个这些连接器知道如何与它的相关联的数据库管理系统进行交互。 还有用于连接到支持Java JDBC协议的任何数据库的通用JDBC连接器。 此外,Sqoop提供优化MySQL和PostgreSQL连接器使用数据库特定的API,以有效地执行批量传输。

除了这一点,Sqoop具有各种第三方连接器用于数据存储,

从企业数据仓库(包括Netezza公司,Teradata和甲骨文)到 NoSQL存储(如Couchbase)。但是,这些连接器没有配备Sqoop束;  这些需要单独下载并很容易地安装添加到现有的Sqoop。

FLUME 介绍

Apache Flume 用于移动大规模批量流数据到 HDFS 系统。从Web服务器收集当前日志文件数据到HDFS聚集用于分析,一个常见的用例是Flume。

Flume 支持多种来源,如:

“tail”(从本地文件,该文件的管道数据和通过Flume写入 HDFS,类似于Unix命令“tail”)

系统日志

Apache log4j (允许Java应用程序通过Flume事件写入到HDFS文件)。

在 Flume 的数据流

Flume代理是JVM进程,里面有3个组成部分 - Flume Source, Flume Channel 和 Flume Sink -通过该事件传播发起在外部源之后。

在上面的图中,由外部源(Web服务器)生成的事件是由Flume数据源消耗。 外部源将事件以目标源识别的格式发送给 Flume 源。

Flume 源接收到一个事件,并将其存储到一个或多个信道。信道充当存储事件,直到它由 flume消耗。此信道可能使用本地文件系统以便存储这些事件。

Flume 将删除信道,并存储事件到如HDFS外部存储库。可能会有多个 flume 代理,在这种情况下,flume将事件转发到下一个flume代理。

FLUME 一些重要特性

Flume 基于流媒体数据流灵活的设计。这是容错和强大的多故障切换和恢复机制。 Flume 有不同程度的可靠性,提供包括“尽力传输'和'端至端输送'。尽力而为的传输不会容忍任何 Flume 节点故障,而“终端到终端的传递”模式,保证传递在多个节点出现故障的情况。

Flume 承载源和接收之间的数据。这种数据收集可以被预定或是事件驱动。Flume有它自己的查询处理引擎,这使得在转化每批新数据移动之前它能够到预定接收器。

可能 Flume 包括HDFS和HBase。Flume 也可以用来输送事件数据,包括但不限于网络的业务数据,也可以是通过社交媒体网站和电子邮件消息所产生的数据。

自2012年7月Flume 发布了新版本 Flume NG(新一代),因为它和原来的版本有明显的不同,因为被称为 Flume OG (原代)。

 


    您可以捐助,支持我们的公益事业。

金额: 1元 10元 50元

姓名:

邮件:

电话:

公司:

说明:

认证码: 验证码,看不清楚?请点击刷新验证码 必填



 
 捐助