更新时间:2022-12-14 GMT+08:00

HBase输入

概述

“HBase输入”算子,将HBase表的指定列转换成同等数量的输入字段。

输入与输出

  • 输入:HBase表列
  • 输出:字段

参数说明

表1 算子参数说明

参数

含义

类型

是否必填

默认值

HBase表类型

配置HBase表类型,可选项为normal(普通表)和phoenix表。

enum

normal

HBase表名

配置HBase表名。仅支持一个HBase表。

string

HBase输入字段

配置HBase输入信息:

  • 列族:配置HBase列族名。
  • 列名:配置HBase列名。
  • 字段名:配置输入字段名。
  • 类型:配置字段类型。
  • 长度:配置字段长度,字段值实际长度太长则按配置的长度截取,“类型”“CHAR”时实际长度不足则空格补齐,“类型”“VARCHAR”时实际长度不足则不补齐。
  • 主键:配置是否为主键列。普通HBase表主键只能指定一个;phoenix表主键可以指定多个,配置多个列为主键时,会按照配置列的先后顺序对其进行拼接。必需配置一个主键列。

map

数据处理规则

  • 当配置HBase表名不存在时,作业提交失败。
  • 当配置的列名与HBase表列名不匹配时,读取不到数据,导入数据条数会为0。
  • 配置输入字段列数,大于原始数据实际包含字段列数,全部数据成为脏数据。
  • 当字段的值与实际的类型不匹配时,该行数据会成为脏数据。

样例

以HBase导出到sqlserver2014数据库为例。

在sqlserver2014上创建一张空表test_1用于存储HBase数据。执行以下语句:

create table test_1 (id int, name text, value text);

配置“HBase输入”算子,生成三个字段A、B和C:

设置了数据连接器后,可以单击自动识别,系统将自动读取数据库中的字段,可根据需要选择添加,然后根据业务场景手动进行完善或者修正即可,无需逐一手动添加。

此操作会覆盖表格内已有数据。

通过“表输出”算子,将A、B和C输出到test_1表中:

select * from test_1;