HBase Source 为支持DataFlow 从Hbase中加载Dataset。众所周知,HBase 中存储的一切都是字节。Hbase Client 并不知道每个Cell 的数据类型,因此Hbase Source 必须为其制定映射columns_mapping。Hbase 中的字节在反序列化时一般有字符串形式和二进制形式。
基本模式
如下:
xml
<source type="hbase"
table_name="et_pty_cust_flg"
origin_table_name="hello"
fields="rowkey:id,info:name,info:name1,info:gender1,info:age1:int"
hbase_site="/path/hbase-site.xml"
storage_type="string">
</source>
字段说明:
- origin_table_name: 为 Hbase 中的表名称,支持 namespace。如:name_for:table_bar;
- fields:为列映射,英文逗号分隔,rowkey为hbase 的rowkey,rowkey的映射表达形式为:rowkey:id, id为列名。其他列为hbase 的列族和列名。如:info:name。每个列都可制定类型,如:rowkey🆔string, info:age:int 分别指定字符串类型和整形类型。如果不指定类型,默认为字符串类型。
- storage_type :为指定Hbase的列的反序列化形式。支持String 和 binary 两个参数。String 指定hbase的各列为字符串形式表达。如“hello”、”100”,整形则需要把“100”的字符串转为整形。Date 类型应为一个long的时间戳,然后转为 date类型。Binary 则是二进制的存储格式,如“hello”会把字符串转为字节码存储,100则转为8字节的二进制值存储,因此反序列化同样用8字节的二进制值转为整形。
- hbase_site: 用于配置HBase服务配置文件地址,支持:file: / hdfs: 如果无 file 或者 hdfs 前缀则采用 file: 协议
Explode 模式
XX
FF