Skip to main content

PutHBaseJSON

描述:

将输入数据流的JSON文件写入HBase行中。每个输入数据流必须包含单一且UTF-8编码的JSON文档,并且任何根元素不是单一JSON文档将直接路由到失败连线。每个JSON字段和值将作为HBase行的列名和值。 任何null值的字段将被忽略,如果值为复杂类型,将通过参数《复杂字段处理策略》来处理。行ID可直接由组件的行标识符参数指定也来自于JSON文档中行标识符字段属性。该组件将所有输入数据流的内容一次性读取到内存

标签:

hadoop, hbase, put, json, 写入, 输出

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.

名字默认值允许值列表描述
HBase客户端服务控制器服务API:
HBaseClientService
实现:
HBase_1_1_2_ClientService
指定用于访问HBase的配置服务
表名指定读取的HBase的表名

支持表达式语言 (支持流属性和变量)
行标识指定用于插入数据的HBase数据的行ID

支持表达式语言 (支持流属性和变量)
行标识字段名指定输入数据中作为行标识的JSON元素的字段名

支持表达式语言 (支持流属性和变量)
行数据类型字符串
- 字符串将行id的值存储为UTF-8字符串
- 二进制将行id的值存储为二进制字节数组。它期望行id是一个二进制格式的字符串
指定将数据插入HBase时使用的行ID的数据类型。默认行为是将行id转换为UTF-8字节数组。 选择Binary将把二进制格式的字符串转换为正确的byte[]表示形式,如果在HBase中使用二进制行键,则应该使用二进制选项
列族指定用于插入数据的列族

支持表达式语言 (支持流属性和变量)
时间戳指定创建HBase单元的时间戳,置空则HBase默认用当前时间

支持表达式语言 (支持流属性和变量)
分批数量25一次执行中要处理的数据流的最大数量。 流文件将按表进行分组,每个表执行一个写入操作
复杂字段处理策略文本
- 失败如果字段中包含任何复杂类型的值,将直接路由到失败连线
- 警告不包含到行数据中并提示警告
- 忽略静默状态的忽略而不包含到行数据中写入HBase
- 文本使用复杂字段的字符串表示形式作为列的值
指定如何处理复杂类型的字段值,比如字段的值不是一个单纯的文本
输出类型字符串
- 字符串将每个字段的值存储为UTF-8字符串
- 字节每个字段的值存储为从JSON的类型的字节表示形式。
指定如何在HBase中存储每个字段的值。 默认方式是转换每个JSON值为字符串并存储为UTF-8字节.选择"字节"将从JSON中解释每个字段的类型,并将值转换为该类型的字节表示,这意味着整数将存储为该整数的字节表示

动态参数:

名字描述
visibility.<COLUMN FAMILY>visibility label for <COLUMN FAMILY>Visibility label for everything under that column family when a specific label for a particular column qualifier is not available.
支持表达式语言 (支持流属性和变量)
visibility.<COLUMN FAMILY>.<COLUMN QUALIFIER>visibility label for <COLUMN FAMILY>:<COLUMN QUALIFIER>.Visibility label for the specified column qualifier qualified by a configured column family.
支持表达式语言 (支持流属性和变量)

连线:

名字描述
success输入数据流成功存储到HBase的数据输出到此连线
failure数据不能写入到HBase将输出到此连线

读取属性:

未提供。

写入属性:

未提供。

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件必须提供输入流。

系统资源考量:

未提供。