Skip to main content

PutParquet

描述:

将输入数据流中的记录写入到Parquet文件中。 Parquet文件的Schema须通过属性提供。组件将文件先写入到以点开头的临时文件中,在成功写入每个记录之后再将文件名改为最终文件。 如果不能将点开头的临时文件改名,则将尝试10次,如果仍旧不成功,将删除点文件,然后路由到失败连线。如果在从输入数据流中读取记录时或输出数据时发生错误,点文件也将被删除,并依据错误情况路由到失败或重试连线

标签:

put, parquet, hadoop, HDFS, filesystem, record, 写入, 记录, 输出

参数:

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

名字默认值允许值列表描述
Hadoop配置指定由逗号分隔符分隔的多个Hadoop配置文件。如果不设置,则Hadoop将搜索类路径(classpath)查找'core-site.xml' 和 'hdfs-site.xml'文件,或还原为默认配置。 为了使用 swebhdfs, 可查看 '高级设置' 的 PutHDFS 文档

支持表达式语言 (仅支持变量)
Kerberos证书服务控制器服务API:
KerberosCredentialsService
实现:
KeytabCredentialsService
指定用于Kerberos授权的证书服务配置
Kerberos Principal指定用于认证的Kerberos principal。 需要设置在 orchsym.properties 配置文件中设置 orchsym.kerberos.krb5.file

支持表达式语言 (仅支持变量)
Kerberos Keytab指定用于关联Principal认证的Kerberos keytab。 需要设置在 orchsym.properties 配置文件中设置 orchsym.kerberos.krb5.file

支持表达式语言 (仅支持变量)
Kerberos重新登录时长4 hours尝试Kerberos重新登录的时长。注:该参数以被弃用,并组件执行没有影响。现在重新登录将自动发生

支持表达式语言 (仅支持变量)
额外类路径指定将添加到类路径的并以逗号分隔的多个文件或目录。 当指定目录时,所有目录下的文件将被添加到类路径中,但并不迭代包含子目录中的文件
记录读取服务控制器服务API:
RecordReaderFactory
实现:
ParquetReader
GrokReader
SyslogReader
Syslog5424Reader
CSVReader
AvroReader
JsonPathReader
JsonTreeReader
ScriptedReader
XMLReader
指定输入数据流读取记录的服务配置
目录文件将写入的目录,如果不存在将创建

支持表达式语言 (支持流属性和变量)
压缩类型UNCOMPRESSED
- UNCOMPRESSED
- SNAPPY
- GZIP
- LZO
- BROTLI
- LZ4
- ZSTD
指定写入的文件的压缩类型
覆盖
- 是
- 否
是否覆盖目录下已存在的相同名字的文件。如果设置否,并存在相同的文件时,数据流将路由到失败连线。
权限掩码用于决定写入HDFS的文件权限且用八进制数表示的权限掩码,该设置将覆盖Hadoop配置的 dfs.umaskmode
远程组在写入文件后,改变HDFS文件的组。仅当该平台以拥有修改组权限的HDFS超级用户权限的用户身份运行时,此操作才有效。
远程拥有者在写入文件后,改变HDFS文件的拥有者。仅当该平台以拥有修改拥有者权限的HDFS超级用户权限的用户身份运行时,此操作才有效。
行组大小用于Parquet输出的行组大小。 该值的格式为 <数值> <单位> ,其中单位可为 B, KB, MB, GB, TB.

支持表达式语言 (支持流属性和变量)
页大小用于Parquet输出的页大小。 该值的格式为 <数值> <单位> ,其中单位可为 B, KB, MB, GB, TB.

支持表达式语言 (支持流属性和变量)
字典页大小用于Parquet输出的字典页大小。该值的格式为 <数值> <单位> ,其中单位可为 B, KB, MB, GB, TB.

支持表达式语言 (支持流属性和变量)
填充大小用于将行组与底层文件系统中的块对齐的最大填充量。如果底层文件系统不是像hdfs这样的块文件系统,那么这没有任何效果。该值的格式为 <数值> <单位> ,其中单位可为 B, KB, MB, GB, TB.

支持表达式语言 (支持流属性和变量)
支持字典编码
- 支持
- 不支持
指定当输出时是否启用字典编码
启用验证
- 启用
- 禁用
指定当输出时是否验证
版本
- Parquet 1.0
- Parquet 2.0
指定Parquet输出的版本
Avro Write Old List Structuretrue
- true
- false
Specifies the value for 'parquet.avro.write-old-list-structure' in the underlying Parquet library
Avro Add List Element Recordstrue
- true
- false
Specifies the value for 'parquet.avro.add-list-element-records' in the underlying Parquet library
删除CRC文件保留
- 删除
- 保留
指定是否在写入Parquet成功之后删除对应的CRC验证文件

连线:

名字描述
retry由于数据流不能被处理并可重试将路由此连线
success输入数据流成功传输后输出到此连线
failure由于数据流不能被处理且不能重试将路由到此连线

读取属性:

名字描述
filename要写入的文件名来自此属性的值

写入属性:

名字描述
filename存储的文件名
absolute.hdfs.path存储的文件路径
record.count写入Parquet文件的记录数

状态管理:

该组件不保存状态。

限制:

要求权限说明
写入文件系统提供操作者在HDFS或本地文件系统中写入任何文件的能力

输入流要求:

组件必须提供输入流。

系统资源考量:

未提供。