HBase
离线同步任务支持HBase数据源,支持该数据源的抽取(Reader)和导入(Writer)。
使用前提
在使用之前需要在“项目配置-项目中心(新)-数据源管理”完成该类型数据源的登记并测试通过(可在控制台的用户手册中查看具体登记详情信息),以及获取该数据源类型或数据的读权限(配置入口在安全中心-项目下的具体成员或角色)。
HBase作为数据来源
以HBase to Hive为例,在数据来源端选择HBase数据源类型及数据源名称,选择需要进行读取的NameSpace和表。
支持根据【startRowKey和endRowKey】或【起始时间位点和结束时间位点】确定读取范围。
(1)如果填写起始时间位点和结束时间位点,则会使用时间戳范围过滤条件进行读取HBase表数据。请按照格式:yyyy-MM-dd HH:mm:ss.SSS填写。其中“SSS”可不填,如不填则默认取000,系统执行时会将该值转成timestamp后从HBase中读取相应数据。支持填写系统参数和参数组参数。
(2)如未填写起始时间位点,则默认从最早数据开始读取。如未填写结束时间位点,则默认读取至最新数据。
(3)如果同时填写startRowKey、endRowKey和起始时间位点、结束时间位点,则会读取指定RowKey范围内指定时间戳范围内的数据;如果仅填写startRowKey、endRowKey,则会读取指定RowKey范围内的数据,不限时间戳范围;如果仅填写起始时间位点、结束时间位点,则会读取指定时间戳范围内的数据,不限RowKey范围。
(4)任务配置字段映射时,来源表字段如选取timestamp字段,运行任务时,同一RowKey值对应的多列数据对应的timestamp值不同时,则timestamp字段值取timestamp最新的列对应的timestamp值。
- 特殊字符替换:
- 不可见字符请使用Unicode编码表示
- 使用下列字符:|、^、$、.、*、\、?、+、{ 、}、[、 ]、( 、)时,请在字符前添加"\"来表示。示例:"|"字符表示为"\|"
- 需要替换多个特殊字符时,字符间请使用","分隔。不支持替换","字符
HBase作为数据去向
以Hive to HBase为例,当HBase作为数据去向时,需要选择数据源类型、已登记的数据源、NameSpace及表。
HBase写入方式支持PUT和BulkLoad。当写入方式为BulkLoad时,需要配置dfs.nameservices、dfs.namenode.rpc-address:
- dfs.nameservices:HFile所在HDFS的schema
- dfs.namenode.rpc-address:允许输入多个地址,通过换行进行分割
