hadoop體系的簡單學(xué)習(xí)筆記

Mahout

mahout:運(yùn)行在hadoop集群上的機(jī)器學(xué)習(xí)庫

使用mahout:

  1. 下載,解壓安裝包

  2. 設(shè)置環(huán)境變量,編譯配置文件

  3. 鍵入mahout --help命令,檢查Mahout是否安裝完好

  4. 在hdfs的目標(biāo)目錄中,輸入mahout xxxx執(zhí)行mahout作業(yè)

  5. mahout會(huì)在根目錄建立output新文件夾,保存計(jì)算結(jié)果

Hive

值得注意的特性:

  • Hive的實(shí)時(shí)性很差
  • Thrift服務(wù)使得不同的編程語言都可以調(diào)用Hive接口

Hive 的使用:

  1. 安裝SQL
  2. 進(jìn)入mysql命令行,創(chuàng)建hive用戶并賦予所有權(quán)限
  3. 使用hive用戶登錄,創(chuàng)建hive數(shù)據(jù)庫
  4. 安裝并部署Hive(包括一系列復(fù)雜的配置blablalba...)
  5. 啟動(dòng)metastore和hiveserver服務(wù)
  6. 進(jìn)入hive命令行,使用HQL進(jìn)行操作。

Pig:

  • Pig 有兩種運(yùn)行模式:

  • Local 模式和 MapReduce 模式。

  • Pig的三種調(diào)用方式:

  • Grunt shell方式:通過交互的方式,輸入命令執(zhí)行任務(wù);

  • Pig script方式:通過script腳本的方式來運(yùn)行任務(wù);

  • 嵌入式方式:嵌入java源代碼中,通過java調(diào)用來運(yùn)行任務(wù)。

  • Pig的使用

  1. 下載,解壓Pig程序,配置環(huán)境變量及Pig運(yùn)行模式,編譯配置文件
  2. 啟動(dòng)hadoop集群,在shell中輸入pig,看到pig連接到hadoop集群的信息并且進(jìn)入了grunt shell命令行模式
  3. 然后調(diào)用hadoop上傳本地文件命令hadoop fs -xxx把該文件傳到HDFS上
  4. 在pig shell中輸入相關(guān)命令,執(zhí)行job
  5. 在執(zhí)行過程中可在JobTracker頁面觀察運(yùn)行情況
  6. 在hdfs中查看運(yùn)行結(jié)果

Hbase

Hbase在Hadoop體系中的位置:

層級(jí)構(gòu)件 描述
HDFS 文件系統(tǒng)
Hbase 數(shù)據(jù)庫管理系統(tǒng)
Hive 高級(jí)數(shù)據(jù)庫管理語言(Hive)

HBase訪問接口

  • Native Java API,最常規(guī)和高效的訪問方式,適合Hadoop MapReduce Job并行批處理HBase表數(shù)據(jù)
  • HBase Shell,HBase的命令行工具,最簡單的接口,適合HBase管理使用
    Thrift Gateway,利用Thrift序列化技術(shù),支持C++,PHP,Python等多種語言,適合其他異構(gòu)系統(tǒng)在線訪問HBase表數(shù)據(jù)
  • REST Gateway,支持REST 風(fēng)格的Http API訪問HBase, 解除了語言限制
  • Pig,可以使用Pig Latin流式編程語言來操作HBase中的數(shù)據(jù),和Hive類似,本質(zhì)最終也是編譯成MapReduce Job來處理HBase表數(shù)據(jù),適合做數(shù)據(jù)統(tǒng)計(jì)
  • Hive,當(dāng)前Hive的Release版本尚沒有加入對HBase的支持,但在下一個(gè)版本Hive 0.7.0中將會(huì)支持HBase,可以使用類似SQL語言來訪問HBase

Sqoop

Sqoop即 SQL to Hadoop ,是一款方便的在傳統(tǒng)關(guān)系型數(shù)據(jù)庫與Hadoop之間進(jìn)行數(shù)據(jù)遷移的工具,它充分的利用了MapReduce并行特點(diǎn)以批處理的方式加快數(shù)據(jù)傳輸。

Flume

Flume是一個(gè)分布式、可靠和高可用的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。

Flume的輸入端(數(shù)據(jù)源)可以是:

  • console(控制臺(tái))
  • RPC(Thrift-RPC)
  • text(文件)
  • tail(UNIX tail)
  • syslog(syslog日志系統(tǒng),支持TCP和UDP等2種模式)
  • exec(命令執(zhí)行)

Flume的輸出端可以是:

  • console(控制臺(tái))
  • text(文件)
  • dfs(HDFS文件)
  • RPC(Thrift-RPC)
  • syslogTCP(TCP syslog日志系統(tǒng))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容