pyspark—从spark写入操作输出的捕获文件名

qjp7pelc  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(210)

你如何定义一个 customCsvWriter 函数,用于捕获执行写入操作时输出的文件。这个问题使用pyspark,但也可以随意发布scala的答案。
以下是默认的pyspark行为:

df = spark.read.option('header', True).csv('tests/data/csvs')
output = df.write.parquet('tmp/out')
print(output) # => None

以下是我想要的:

df = spark.read.option('header', True).customCsvWriter('tests/data/csvs')
output = df.write.parquet('tmp/out')
print(output) # => ['part-00000-1efe6b94-810f-4aaa-ad53-bd58f05f4b9a-c000.snappy.parquet', 'part-00001-1efe6b94-810f-4aaa-ad53-bd58f05f4b9a-c000.snappy.parquet', 'part-00002-1efe6b94-810f-4aaa-ad53-bd58f05f4b9a-c000.snappy.parquet']

我可以通过s3事件通知/sqs将文件写入s3,但我更愿意使用多平台解决方案。delta-lake将文件名输出到事务日志,如下所述,因此这必须是可能的。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题