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元素的字段名 支持表达式语言 (支持流属性和变量) | ||
行数据类型 | 字符串 | - 字符串 - 二进制 | 指定将数据插入HBase时使用的行ID的数据类型。默认行为是将行id转换为UTF-8字节数组。 选择Binary将把二进制格式的字符串转换为正确的byte[]表示形式,如果在HBase中使用二进制行键,则应该使用二进制选项 |
列族 | 指定用于插入数据的列族 支持表达式语言 (支持流属性和变量) | ||
时间戳 | 指定创建HBase单元的时间戳,置空则HBase默认用当前时间 支持表达式语言 (支持流属性和变量) | ||
分批数量 | 25 | 一次执行中要处理的数据流的最大数量。 流文件将按表进行分组,每个表执行一个写入操作 | |
复杂字段处理策略 | 文本 | - 失败 - 警告 - 忽略 - 文本 | 指定如何处理复杂类型的字段值,比如字段的值不是一个单纯的文本 |
输出类型 | 字符串 | - 字符串 - 字节 | 指定如何在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将输出到此连线 |
读取属性:
未提供。
写入属性:
未提供。
状态管理:
该组件不保存状态。
限制:
该组件没有限制
输入流要求:
组件必须提供输入流。
系统资源考量:
未提供。