SplitAvro
描述:
根据配置的输出大小将二进制编码的Avro数据文件拆分为较小的文件。 输出策略确定输出为较小的Avro数据文件,还是具有数据流属性中元数据的Avro记录。 输出将始终是二进制编码。
标签:
avro, split, 拆分
参数:
如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置.
名字 | 默认值 | 允许值列表 | 描述 |
---|---|---|---|
拆分策略 | 记录 | - 记录 | 拆分输入数据流的策略。通过策略反序列化每条记录来读取输入数据流。 |
输出大小 | 1 | 每个拆分文件包含的Avro记录数。 如果输入数据流的记录少于“输出大小”,或者记录总数未按“输出大小”均匀分配,则输出数据流仅输出实际的记录。 | |
输出策略 | Avro数据 | - Avro数据 - 裸记录 | 确定输出的格式。 无论是Avro数据,或者裸记录。 裸记录输出仅适用于系统需求,正常使用时不需要。 |
输出元数据 | 是 | - 是 - 否 | 是否将父数据流中的元数据传输给子数据流。 如果输出策略是裸记录,则元数据将存储为数据流的属性,否则它将存储在数据文件头中。 |
连线:
名字 | 描述 |
---|---|
failure | 如果数据流因任何原因处理失败(例如,数据流不是有效的Avro),将输出数据流到此连线 |
original | 原始的分割输入数据流。 如果数据流处理失败,则不会向此连线输出任何内容 |
split | 从原始数据流拆分的所有新数据流都将输出到此连线 |
读取属性:
未提供。
写入属性:
名字 | 描述 |
---|---|
fragment.identifier | 从同一父数据流生成的所有拆分数据流将为此属性添加相同的随机生成的UUID |
fragment.index | 一个单一数字,表示从单个父数据流创建的拆分数据流的顺序 |
fragment.count | 从父数据流生成的拆分数据流的数量 |
segment.original.filename | 父输入数据流的文件名 |
状态管理:
该组件不保存状态。
限制:
该组件没有限制
输入流要求:
组件必须提供输入流。
系统资源考量:
资源 | 描述 |
---|---|
MEMORY | 此组件的实例可能导致此系统资源的高使用率。 多个实例或高并发设置可能会导致性能下降。 |