本文主要介紹如何在Hbase中進行全量匯出MaxCompute操作。
注意事項
全量匯出MaxCompute功能於2023年6月16日下線。2023年6月16日後購買的LTS將無法使用全量匯出MaxCompute功能,2023年6月16日前購買的LTS仍可正常使用此功能。
前提條件
已購買LTS資料移轉同步服務,配置LTS操作頁面賬戶密碼,並登入LTS操作頁面。
已添加HBase叢集資料來源。
已添加MaxCompute資料來源。
功能列表
匯出HBase全量資料到MaxCompute。
支援指定rowkey、時間範圍、支援指定對應列。
支援版本
自建HBase1.x、2.x。
EMR HBase。
標準版雲HBase、增強版雲HBase(叢集版本)、Lindorm。
建立任務
進入LTS操作頁面,在左側導覽列選擇Lindorm/HBase匯出 > 歷史資料匯出MaxCompute。
在Lindorm/HBase全量歸檔MaxCompute頁面單擊建立任務。
選擇源叢集和目的地組群,輸入需要遷移的表,單擊建立。
單擊任務名,查看遷移進度。
遷移完成之後,登入到MaxCompute便可以查詢資料。
參數說明
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["f1:a", "f1:b", "f1:c"]}
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["f1:a|string", "f1:b|boolean"]}
hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["f1:a|string", "f1:b|boolean"], "startTs": "20190101000000", "endTs": "20200101000000", "startKey": "a", "endKey": "z"}
hbaseTable/odpsTable {"tableMode": "KVTable"}
HBase資料匯出到MaxCompute,支援兩種模式:KV模式、寬表模式。
KV模式
入參:tablexxx {"tableMode": "KVTable"}
結果輸出:
每一行代表HBase中的一個KV。
rowkey:HBase表KV的rowkey。
version:KV的版本。
op:KV的類型(Put、DeleteFamily、DeleteColumn)。
family:列族。
qualifier:列名。
value:KV的具體value(轉化成HexString的格式)。
寬表模式
入參:hbaseTable/odpsTable {"tableMode": "wideTable", "cols":["cf1:string|string", "cf1:int|int", "cf1:double|double"]}
寬表模式需要指定匯出的列 ,例如 “cols”:[“f1:a”, “f1:b”, “f1:c”] , 列值預設是轉化成HexString的格式。可以指定列的類型,例如”cols”:[“f1:a|string”, “f1:b|boolean”, “f1:c|int”]。列支援的類型:string、int、long、short、decimal、double、float、boolean,預設類型 hex, 將bytes數組轉化為HexString
結果輸出:
指定匯出資料的範圍
入參:table1 {"startKey": "xxx", "endKey": "zzz", "startTs": "20191001153000", "endTs": "20191001233000"}
HBase匯出MaxCompute不管是KV模式還是寬表模式,匯出支援使用startKey、endKey來指定主鍵區間,以及使用startTs、endTs參數來指定時間區間。
指定匯出到不同MaxCompute表
HBase匯出MaxCompute支援HBase表和MaxCompute表不同表名, 預設情況和HBase表名相同(hbase表名中的’-‘、’.’ 會被替換成’_’)例如: hbaseTable/odpsTable {"tableMode": "KVTable"}
。