從頭學習大數據培訓課程 NOSQL 資料庫 hbase(五)讀取 hbase 的 hfile 文件並生成 hive 使用的 orc 文件
04-02
1. 自定義inputformat實現
(1).首先繼承FileInputFormat
(2).然後再實現自己的RecordReader,繼承org.apache.hadoop.mapreduce.RecordReader
這裡不用寫因為在構造函數里已經初始化了
2. 思路分析
HFILE文件是按單列和row存儲成一行數據的,包括列的名稱、值、版本和值
寫MR任務讀取HFILE文件的基本思路分析
需求:把hfile中行列單存儲的數據合併成hive中使用的一行多列的數據結構
從集群中拿取hainiu_user_install_status中f列簇下的一個hfile文件做測試hfile文件的位置任務實現
根據hfile中數據存儲的格式實現HFileItem再根據表的數據格式實現HFileRecord
mapper:
combiner:
reducer:
任務配置:
本地上生成的hfile文件
創建外部表指定本地文件路徑
結果
進階作業:
如何進行mr任務的全表掃描:自己寫個讀取HDFS文件地址列表的方法,讀指定hbase表下的所有存放HFILE文件的目錄,這樣就可以使你的mr掃描該表下所有的hfile文件,從而達到通過hfile文件進行全表掃描數據的目的海牛學院青牛原創:轉載請註明出處
推薦閱讀: