HBase历史数据导出ODPS
前提条件
版本
- 自建HBase1.x、2.x
- EMR HBase
- 标准版云HBase、增强版云HBase(集群版本)
创建任务
- 进入BDS操作页面,点击任务管理->HBase历史数据导出ODPS
- 选择源HBase集群和目标ODPS集群,输入需要迁移的表
- 查看迁移进度, 当所有的任务都完成之后
- 迁移完成之后,登陆到ODPS便可以查询数据
参数说明
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数据导出到ODPS,支持两种模式: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导出ODPS不管是KV模式还是宽表模式,导出支持指定任意startKey、endKey、startTs、endTs参数,可以控制导出的时间范围和rowkey的区间
指定导出到不同ODPS表
HBase导出ODPS支持HBase表和ODPS表不同表名, 默认情况和HBase表名相同(hbase表名中的’-‘、’.’ 会被替换成’_’)例如: hbaseTable/odpsTable {"tableMode": "KVTable"}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论