从 Apache Flink Datastream 中提取一个字段值(大部分是常量)<GenericRecord>
Extracting a field value (mostly constant) from Apache Flink Datastream<GenericRecord>
我有一个数据流,其中包含一些字段,如 event_id、时间戳等,这些字段对于管道中的许多记录保持不变。我想在使用 StreamingFileSink 将其写回 ParquetFormat 时使用文件名中的那些。如果我们使用常量,我们可以使用后缀和前缀。但是,我需要帮助从记录中提取可用于生成文件名的值。
文件名模式 _ --.parquet
OutputFileConfig config = OutputFileConfig
.builder()
.withPartPrefix("prefix")
.withPartSuffix(".ext")
.build();
我打算使用它,但需要帮助从记录中提取“前缀”。
对此的任何想法都会很有帮助。
提前致谢:)
OutputFileConfig目前的实现只支持固定前缀和后缀参数,不支持自定义逻辑
public class OutputFileConfig implements Serializable {
private final String partPrefix;
private final String partSuffix;
/**
* Initiates the {@code PartFileConfig} with values passed as parameters.
*
* @param partPrefix - the beginning of part file name
* @param partSuffix - the ending of part file name
*/
public OutputFileConfig(final String partPrefix, final String partSuffix) {
this.partPrefix = Preconditions.checkNotNull(partPrefix);
this.partSuffix = Preconditions.checkNotNull(partSuffix);
}
我有一个数据流,其中包含一些字段,如 event_id、时间戳等,这些字段对于管道中的许多记录保持不变。我想在使用 StreamingFileSink 将其写回 ParquetFormat 时使用文件名中的那些。如果我们使用常量,我们可以使用后缀和前缀。但是,我需要帮助从记录中提取可用于生成文件名的值。
文件名模式 _
OutputFileConfig config = OutputFileConfig
.builder()
.withPartPrefix("prefix")
.withPartSuffix(".ext")
.build();
我打算使用它,但需要帮助从记录中提取“前缀”。
对此的任何想法都会很有帮助。 提前致谢:)
OutputFileConfig目前的实现只支持固定前缀和后缀参数,不支持自定义逻辑
public class OutputFileConfig implements Serializable {
private final String partPrefix;
private final String partSuffix;
/**
* Initiates the {@code PartFileConfig} with values passed as parameters.
*
* @param partPrefix - the beginning of part file name
* @param partSuffix - the ending of part file name
*/
public OutputFileConfig(final String partPrefix, final String partSuffix) {
this.partPrefix = Preconditions.checkNotNull(partPrefix);
this.partSuffix = Preconditions.checkNotNull(partSuffix);
}