Mahout
mahout:運(yùn)行在hadoop集群上的機(jī)器學(xué)習(xí)庫
使用mahout:
下載,解壓安裝包
設(shè)置環(huán)境變量,編譯配置文件
鍵入
mahout --help命令,檢查Mahout是否安裝完好在hdfs的目標(biāo)目錄中,輸入
mahout xxxx執(zhí)行mahout作業(yè)mahout會(huì)在根目錄建立output新文件夾,保存計(jì)算結(jié)果
Hive
值得注意的特性:
- Hive的實(shí)時(shí)性很差
- Thrift服務(wù)使得不同的編程語言都可以調(diào)用Hive接口
Hive 的使用:
- 安裝SQL
- 進(jìn)入mysql命令行,創(chuàng)建hive用戶并賦予所有權(quán)限
- 使用hive用戶登錄,創(chuàng)建hive數(shù)據(jù)庫
- 安裝并部署Hive(包括一系列復(fù)雜的配置blablalba...)
- 啟動(dòng)metastore和hiveserver服務(wù)
- 進(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的使用
- 下載,解壓Pig程序,配置環(huán)境變量及Pig運(yùn)行模式,編譯配置文件
- 啟動(dòng)hadoop集群,在shell中輸入
pig,看到pig連接到hadoop集群的信息并且進(jìn)入了grunt shell命令行模式 - 然后調(diào)用hadoop上傳本地文件命令
hadoop fs -xxx把該文件傳到HDFS上 - 在pig shell中輸入相關(guān)命令,執(zhí)行job
- 在執(zhí)行過程中可在JobTracker頁面觀察運(yùn)行情況
- 在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))