HBase 資料匯入

2021-06-26 09:20:01 字數 2399 閱讀 4946

記錄一下hbase 0.96.0 利用importtsv,completebulkload 和import匯入資料的方法。我的環境裡用的是yarn。

1、利用importtsv 將cvs檔案匯入到hbase

步驟:a. 在hbase裡面建立好table: 

命令:create 'hbase-tbl-001','cf'

b. upload ******1.cvs檔案到hdfs上面,其內容為:

1,"tom"

2,"sam"

3,"jerry"

4,"marry"

5,"john"

c. 利用importtsv匯入資料:

命令:bin/hbase org.apache.hadoop.hbase.mapreduce.importtsv -dimporttsv.separator="," -dimporttsv.columns=hbase_row_key,cf hbase-tbl-001 /user/biadmin/******1.cvs

importtsv 任務執行結果:

在yarn的web console上可以看到相應job的執行記錄:

hbase的hbase-tbl-001'的值為:

2、利用completebulkload 將資料匯入到hbase

a. 先通過importtsv生成hfile

命令:bin/hbase org.apache.hadoop.hbase.mapreduce.importtsv -dimporttsv.separator="," -dimporttsv.bulk.output=hfile_t*** -dimporttsv.columns=hbase_row_key,cf hbase-tbl-003 /user/biadmin/******1.cvs

該命令會最終通過mapreduce job完成:

此時,可以在hdfs上面看到生成的hfile:

而且, 在hbase上也自動建立了表hbase-tbl-003,不過該錶此時為空表:

b. 通過completebulkload 將資料匯入表hbase-tbl-003

命令: hadoop jar lib/hbase-server-0.96.0.jar completebulkload hfile_t*** hbase-tbl-003

注意:執行該命令時,hadoop很可能會找不到相關的hbase依賴包,出現classnotfoundexception的異常。乙個簡單的解決方法是將hbase相關的jar包都放到$/share/hadoop/common/lib下面,這樣hadoop就能在執行前載入相關的hbase jar files。

執行該命令的本質是乙個hdfs的mv操作,並不會啟動mapreduce。

執行完後,表hbase-tbl-003裡面就有了新匯入的資料:

3、利用import將資料匯入到hbase

注:具體的一些實驗在hbase匯出csv格式資料的方法 一文中有詳細描述,這裡說一下具體步驟。

a. hbase export工具匯出的資料的格式是sequence file。比如,在執行完命令「bin/hbase org.apache.hadoop.hbase.mapreduce.export test test-output-001」後,hbase會啟動乙個mapreduce作業,作業完成後會在hdfs上面會生成sequence file格式的資料檔案

b. 對於這類sequence file格式的資料檔案,hbase是可以通過import工具直接將它匯入到hbase的表裡面的。執行命令「bin/hbase org.apache.hadoop.hbase.mapreduce.import test-01 test-output-001」,隨後hbase會啟動乙個mapreduce 作業。然後 表test-01中會成功匯入資料。

hbase資料匯入

使用命令bin hbase org.apache.hadoop.hbase.mapreduce.importtsv dimporttsv.columns hbase row key,cf a,cf b,cf c 需要指出的是原始檔預設以 為分割符,如果需要換成其它分割符,在執行時加上 dimport...

Hbase資料匯入方案

1 利用importtsv將csv檔案匯入到hbase csv 1,tom 2,sam 3,jerry 命令 create hbase tbl 001 cf bin hbase org.apache.hadoop.hbase.mapreduce.importtsv dimporttsv.separa...

hive匯入資料到hbase

hive有一張表user tag detail,表中資料約1.3億,需要將改表資料匯入到hbase 嘗試了兩種方式 建立關聯表 create table hbase user tag detail id string,name string 插入資料 insert overwrite table h...