你如何定义一个 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将文件名输出到事务日志,如下所述,因此这必须是可能的。
暂无答案!
目前还没有任何答案,快来回答吧!