如何在 flink 数据流中获取 parquet 文件的文件名

how to get file name of the parquet file during flink data stream

我有一个使用 parquet 输入格式的数据流,我想获取每个项目的文件名。所以我可以更新记录的文件。 我该怎么做?

DataStream eventStream = streamExecutionEnvironment.readFile(parquetInputFormat, path, FileProcessingMode.PROCESS_CONTINUOUSLY, 20000);

我们必须做这样的事情,我们希望时间戳是目录结构的一部分,但用于批处理。我们的方法是扩展输入格式 class(在我们的例子中是 HadoopInputFormat),在 open() 调用中我们可以使用输入拆分参数来获取文件名。由于我们返回的是 Tuple2<LongWritable, Text>,并且未使用 LongWritable(文件偏移位置),因此我们将时间戳提取并填充到结果的第一个字段中。

我假设您可以扩展 ParquetInputFormat class 并做类似的事情。