從頭學習大數據培訓課程 NOSQL 資料庫 hbase(三)hbase 的 filter 用法,hbase 數據的批量導入

1. hbase的filter用法

條件枚舉

插入測試數據

(1).基礎用法與規則

結果

(2).正則比較器

(3).字元串包含

(4).多個filter一起使用

(5).pagefilter用法

結果

2. hbase數據的批量導入

hbase讀取ORC文件轉成HFILE文件,並且導入到HBASE中

(1).在項目中添加hive的pom

(2).創建HBASE表

create hainiu_user_install_status,{NAME=>f,VERSION=>1,COMPRESSION=>snappy}

(3).hbase提供的配置生成hfile的配置方法

HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), table.getRegionLocator());

查看源碼找到mapper的輸出key和value,也就是hbase提供的reducer的輸入key

(4).封裝ORC工具類

(5).ORC的表描述都放在一個類中

(6).編寫mapreducer任務

mapper

任務配置

任務運行主類

註冊到driver中

(7).修改集群環境讓其能找到hive和hbase的jar包

hadoop-env.sh

把hive的jar拷貝到lib目錄下

/usr/local/hadoop/lib

mr任務能找到hbase的jar包是因為maprd-site.xml里把hbase的lib加到了mapreduce.application.classpath中

hbase的lib目錄下的slf4j移出來

在/usr/local/hadoop/etc/hadoop目錄下增加hbase配置的軟鏈接

(8).生成jar包提交到集群上運行

hadoop jar ./mapreducer-1.0-hainiu.jar hainiuhbasehfile -Dhainiu.task.input=/data/hainiu/user_install_status/20141228 -Dhainiu.task.id=hbase

任務運行完成之後會生成導入到hbase所用的hfile文件

(9).使用這個命令進行導入

hadoop jar ./hbase-shell-1.3.1.jar completebulkload /user/hainiu/task/hbase/output/hainiuhbaseimport hainiu_user_install_status

load HFILE的方法

(10).為了看源碼把hbase-shell加到POM

(11).找到jar包,查看jar包的主類

(12).查看hbase表的導入結果

推薦閱讀:

物聯網、大數據、雲計算三者之間的關係為何?
《數據架構》閱讀筆記(八)非重複型分析
入場比特幣堪比大冒險?他用一千多種交易數據給你定心丸
產品經理:一張表格理思路,行為數據打輔助
三個月成為大數據工程師,你需要具備哪些條件?

TAG:大數據 | HBase | NoSQL |