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 Structure | true | - true - false | Specifies the value for 'parquet.avro.write-old-list-structure' in the underlying Parquet library |
Avro Add List Element Records | true | - 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或本地文件系统中写入任何文件的能力 |
输入流要求:
组件必须提供输入流。
系统资源考量:
未提供。