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

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

Flume和Sqoop

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

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

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

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

主要問題:

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

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

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

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

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

SQOOP介紹

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

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

Sqoop 連接器

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

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

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


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

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

FLUME 介紹

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

Flume 支持多種來源,如:

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

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

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

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

FLUME 一些重要特性

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

自2012年7月Flume 發(fā)布了新版本 Flume NG(新一代),因為它和原來的版本有明顯的不同,因為被稱為 Flume OG (原代)。