hadoop體系的簡單學習筆記

Mahout

mahout:運行在hadoop集群上的機器學習庫

使用mahout:

  1. 下載,解壓安裝包

  2. 設置環境變量,編譯配置文件

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

  4. 在hdfs的目標目錄中,輸入mahout xxxx執行mahout作業

  5. mahout會在根目錄建立output新文件夾,保存計算結果

Hive

值得注意的特性:

  • Hive的實時性很差
  • Thrift服務使得不同的編程語言都可以調用Hive接口

Hive 的使用:

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

Pig:

  • Pig 有兩種運行模式:

  • Local 模式和 MapReduce 模式。

  • Pig的三種調用方式:

  • Grunt shell方式:通過交互的方式,輸入命令執行任務;

  • Pig script方式:通過script腳本的方式來運行任務;

  • 嵌入式方式:嵌入java源代碼中,通過java調用來運行任務。

  • Pig的使用

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

Hbase

Hbase在Hadoop體系中的位置:

層級構件 描述
HDFS 文件系統
Hbase 數據庫管理系統
Hive 高級數據庫管理語言(Hive)

HBase訪問接口

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

Sqoop

Sqoop即 SQL to Hadoop ,是一款方便的在傳統關系型數據庫與Hadoop之間進行數據遷移的工具,它充分的利用了MapReduce并行特點以批處理的方式加快數據傳輸。

Flume

Flume是一個分布式、可靠和高可用的海量日志采集、聚合和傳輸的系統。

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

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

Flume的輸出端可以是:

  • console(控制臺)
  • text(文件)
  • dfs(HDFS文件)
  • RPC(Thrift-RPC)
  • syslogTCP(TCP syslog日志系統)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容