在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 大數(shù)據(jù)/ Flume和Sqoop
Hadoop命令參考
Hadoop教程
Hadoop介紹快速入門
Pig & Hive介紹
Hadoop MapReduce
Hadoop安裝
Hadoop環(huán)境安裝設(shè)置
Hadoop HDFS入門
理解 MapReducer
Hadoop多節(jié)點(diǎn)集群
OOZIE 五分鐘入門學(xué)習(xí)
Flume和Sqoop
Hadoop是什么?
MapReduce計(jì)數(shù)器和連接
MapReduce Hadoop程序連接數(shù)據(jù)
Hadoop Streaming
Hadoop HDFS
Hadoop程序入門實(shí)踐
MapReduce簡(jiǎn)介和入門
Hadoop大數(shù)據(jù)解決方案
Hadoop HDFS操作

Flume和Sqoop

在我們了解Flume和Sqoop之前,讓我們研究數(shù)據(jù)加載到Hadoop的問(wèn)題:

使用Hadoop分析處理數(shù)據(jù),需要裝載大量從不同來(lái)源的數(shù)據(jù)到Hadoop集群。

從不同來(lái)源大容量的數(shù)據(jù)加載到Hadoop,然后這個(gè)過(guò)程處理它,這具有一定的挑戰(zhàn)。

維護(hù)和確保數(shù)據(jù)的一致性,并確保資源的有效利用,選擇正確的方法進(jìn)行數(shù)據(jù)加載前有一些因素是要考慮的。

主要問(wèn)題:

1. 使用腳本加載數(shù)據(jù)

傳統(tǒng)的使用腳本加載數(shù)據(jù)的方法,不適合于大容量數(shù)據(jù)加載到 Hadoop;這種方法效率低且非常耗時(shí)。

2. 通過(guò) Map-Reduce 應(yīng)用程序直接訪問(wèn)外部數(shù)據(jù)

提供了直接訪問(wèn)駐留在外部系統(tǒng)中的數(shù)據(jù)(不加載到Hadopp)到map reduce,這些應(yīng)用程序復(fù)雜性。所以,這種方法是不可行的。

3.除了具有龐大的數(shù)據(jù)的工作能力,Hadoop可以在幾種不同形式的數(shù)據(jù)上工作。這樣,裝載此類異構(gòu)數(shù)據(jù)到Hadoop,不同的工具已經(jīng)被開(kāi)發(fā)。Sqoop和Flume 就是這樣的數(shù)據(jù)加載工具。

SQOOP介紹

Apache Sqoop(SQL到Hadoop)被設(shè)計(jì)為支持批量從結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)導(dǎo)入數(shù)據(jù)到HDFS,如關(guān)系數(shù)據(jù)庫(kù),企業(yè)級(jí)數(shù)據(jù)倉(cāng)庫(kù)和NoSQL系統(tǒng)。Sqoop是基于一個(gè)連接器體系結(jié)構(gòu),它支持插件來(lái)提供連接到新的外部系統(tǒng)。

一個(gè)Sqoop 使用的例子是,一個(gè)企業(yè)運(yùn)行在夜間使用 Sqoop 導(dǎo)入當(dāng)天的生產(chǎn)負(fù)荷交易的RDBMS 數(shù)據(jù)到 Hive 數(shù)據(jù)倉(cāng)庫(kù)作進(jìn)一步分析。

Sqoop 連接器

現(xiàn)有數(shù)據(jù)庫(kù)管理系統(tǒng)的設(shè)計(jì)充分考慮了SQL標(biāo)準(zhǔn)。但是,每個(gè)不同的 DBMS 方言化到某種程度。因此,這種差異帶來(lái)的挑戰(zhàn),當(dāng)涉及到整個(gè)系統(tǒng)的數(shù)據(jù)傳輸。Sqoop連接器就是用來(lái)解決這些挑戰(zhàn)的組件。

Sqoop和外部存儲(chǔ)系統(tǒng)之間的數(shù)據(jù)傳輸在 Sqoop 連接器的幫助下使得有可能。

Sqoop 連接器與各種流行的關(guān)系型數(shù)據(jù)庫(kù),包括:MySQL, PostgreSQL, Oracle, SQL Server 和 DB2 工作。每個(gè)這些連接器知道如何與它的相關(guān)聯(lián)的數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行交互。 還有用于連接到支持Java JDBC協(xié)議的任何數(shù)據(jù)庫(kù)的通用JDBC連接器。 此外,Sqoop提供優(yōu)化MySQL和PostgreSQL連接器使用數(shù)據(jù)庫(kù)特定的API,以有效地執(zhí)行批量傳輸。


除了這一點(diǎn),Sqoop具有各種第三方連接器用于數(shù)據(jù)存儲(chǔ),

從企業(yè)數(shù)據(jù)倉(cāng)庫(kù)(包括Netezza公司,Teradata和甲骨文)到 NoSQL存儲(chǔ)(如Couchbase)。但是,這些連接器沒(méi)有配備Sqoop束;  這些需要單獨(dú)下載并很容易地安裝添加到現(xiàn)有的Sqoop。

FLUME 介紹

Apache Flume 用于移動(dòng)大規(guī)模批量流數(shù)據(jù)到 HDFS 系統(tǒng)。從Web服務(wù)器收集當(dāng)前日志文件數(shù)據(jù)到HDFS聚集用于分析,一個(gè)常見(jiàn)的用例是Flume。

Flume 支持多種來(lái)源,如:

  • “tail”(從本地文件,該文件的管道數(shù)據(jù)和通過(guò)Flume寫(xiě)入 HDFS,類似于Unix命令“tail”)
  • 系統(tǒng)日志
  • Apache log4j (允許Java應(yīng)用程序通過(guò)Flume事件寫(xiě)入到HDFS文件)。

在 Flume 的數(shù)據(jù)流

Flume代理是JVM進(jìn)程,里面有3個(gè)組成部分 - Flume Source, Flume Channel 和 Flume Sink -通過(guò)該事件傳播發(fā)起在外部源之后。

  1. 在上面的圖中,由外部源(Web服務(wù)器)生成的事件是由Flume數(shù)據(jù)源消耗。 外部源將事件以目標(biāo)源識(shí)別的格式發(fā)送給 Flume 源。
  2. Flume 源接收到一個(gè)事件,并將其存儲(chǔ)到一個(gè)或多個(gè)信道。信道充當(dāng)存儲(chǔ)事件,直到它由 flume消耗。此信道可能使用本地文件系統(tǒng)以便存儲(chǔ)這些事件。
  3. Flume 將刪除信道,并存儲(chǔ)事件到如HDFS外部存儲(chǔ)庫(kù)??赡軙?huì)有多個(gè) flume 代理,在這種情況下,flume將事件轉(zhuǎn)發(fā)到下一個(gè)flume代理。

FLUME 一些重要特性

  • Flume 基于流媒體數(shù)據(jù)流靈活的設(shè)計(jì)。這是容錯(cuò)和強(qiáng)大的多故障切換和恢復(fù)機(jī)制。 Flume 有不同程度的可靠性,提供包括“盡力傳輸'和'端至端輸送'。盡力而為的傳輸不會(huì)容忍任何 Flume 節(jié)點(diǎn)故障,而“終端到終端的傳遞”模式,保證傳遞在多個(gè)節(jié)點(diǎn)出現(xiàn)故障的情況。
  • Flume 承載源和接收之間的數(shù)據(jù)。這種數(shù)據(jù)收集可以被預(yù)定或是事件驅(qū)動(dòng)。Flume有它自己的查詢處理引擎,這使得在轉(zhuǎn)化每批新數(shù)據(jù)移動(dòng)之前它能夠到預(yù)定接收器。
  • 可能 Flume 包括HDFS和HBase。Flume 也可以用來(lái)輸送事件數(shù)據(jù),包括但不限于網(wǎng)絡(luò)的業(yè)務(wù)數(shù)據(jù),也可以是通過(guò)社交媒體網(wǎng)站和電子郵件消息所產(chǎn)生的數(shù)據(jù)。

自2012年7月Flume 發(fā)布了新版本 Flume NG(新一代),因?yàn)樗驮瓉?lái)的版本有明顯的不同,因?yàn)楸环Q為 Flume OG (原代)。