【发布时间】:2019-02-19 07:55:06
【问题描述】:
我将 Dataset API 与 Flink 一起使用,并且我正在尝试通过我的 POJO 中的键对 parquet 文件进行分区,例如日期。最终目标是使用以下文件结构写下我的文件。
/output/
20180901/
file.parquet
20180902/
file.parquet
Flink 提供了一个方便的类来包装AvroParquetOutputFormat,如下所示,但我看不到提供分区键。
HadoopOutputFormat<Void, Pojo> outputFormat =
new HadoopOutputFormat(new AvroParquetOutputFormat(), Job.getInstance());
我正在尝试找出最好的方法。我是否需要编写自己的 AvroParquetOutputFormat 版本来扩展 hadoops MultipleOutputs 类型,或者我可以利用 Flink API 为我做这件事。
Spark 中的等价物是。
df.write.partitionBy('date').parquet('base path')
【问题讨论】:
-
如果你找到任何解决方案,请帮助我。
-
我决定使用 Spark。我的生产力更重要。
-
您好,请给我一个提示如何转换我的 DataSet[MyType] -> DataSet[Void,MyType]
标签: apache-flink parquet