hbase11xsqlreader 插件文档#

1 快速介绍#

hbase11xsqlreader插件实现了从Phoenix(HBase SQL)读取数据。在底层实现上,hbase11xsqlreader通过Phoenix客户端去连接远程的HBase集群,并执行相应的sql语句将数据从Phoenix库中SELECT出来。

2 实现原理#

简而言之,hbase11xsqlreader通过Phoenix客户端去连接远程的HBase集群,并根据用户配置的信息生成查询SELECT 语句,然后发送到HBase集群,并将返回结果使用Addax自定义的数据类型拼装为抽象的数据集,并传递给下游Writer处理。

3 功能说明#

3.1 配置样例#

配置一个从Phoenix同步抽取数据到本地的作业:

{
    "job": {
        "setting": {
            "speed": {
                "byte":-1,
              "channel": 1
            }
        },  
        "content": [ {
                "reader": {
                    "name": "hbase11xsqlreader",
                    "parameter": {
                        "hbaseConfig": {
                            "hbase.zookeeper.quorum": "node1,node2,node3"
                        },  
                        "table": "US_POPULATION",
                        "column": []
                    }
                },  
                "writer": {
                    "name": "streamwriter",
                    "parameter": {
                        "print":true,
                        "encoding": "UTF-8"
                    }
                }
            }
        ]
    }
}

3.2 参数说明#

配置项 是否必须 默认值 描述
hbaseConfig hbase11xsqlreader需要通过Phoenix客户端去连接hbase集群,因此这里需要填写对应hbase集群的zkurl地址,注意不要添加2181
table 编写Phoenix中的表名,如果有namespace,该值设置为 namespace.tablename
column 填写需要从phoenix表中读取的列名集合,使用JSON的数组描述字段信息,空值表示读取所有列

3.3 类型转换#

目前hbase11xsqlreader支持大部分Phoenix类型,但也存在部分个别类型没有支持的情况,请注意检查你的类型。

下面列出MysqlReader针对Mysql类型转换列表:

Addax 内部类型 Phoenix 数据类型
String CHAR, VARCHAR
Bytes BINARY, VARBINARY
Bool BOOLEAN
Long INTEGER, TINYINT, SMALLINT, BIGINT
Double FLOAT, DECIMAL, DOUBLE,
Date DATE, TIME, TIMESTAMP