【发布时间】:2018-10-11 00:24:06
【问题描述】:
我正在使用 SparkSQL 运行 Spark 应用程序。如何合并小文件?我知道 .repartition 和 .coalesce 但这不能使用 SparkSQL 完成。
【问题讨论】:
-
spark.sql返回一个数据帧,在写入不同位置之前确实可以合并和重新分区 -
如果里面的sql是CTAS,我该怎么做?
spark.sql("create table as select....") -
目前制作的文件大小是多少?有多少个文件?
-
1-5MB 文件,它正在生成 20000 个文件
-
我认为一般建议是使用
spark.sql,获取一个数据框,然后在合并后使用df.write,输出一些Parquet(或ORC)数据,然后使用create external table运行您写信的位置
标签: apache-spark apache-spark-sql