Apache spark 为什么要创建这么多拼花文件?我们可以不限制拼花输出文件吗?
为什么在sparkSql中创建了这么多拼花文件?我们可以不限制拼花输出文件吗?通常,当您写入拼花时,它会在每个分区中写入一个(或多个,具体取决于各种选项)文件。如果要减少文件数量,可以在写入之前在数据帧上调用coalesce。e、 g:Apache spark 为什么要创建这么多拼花文件?我们可以不限制拼花输出文件吗?,apache-spark,apache-spark-sql,apache-spark-mllib,parquet,Apache Spark,Apache Spark Sql,Apache Spark Mllib,Parquet,为什么在sparkSql中创建了这么多拼花文件?我们可以不限制拼花输出文件吗?通常,当您写入拼花时,它会在每个分区中写入一个(或多个,具体取决于各种选项)文件。如果要减少文件数量,可以在写入之前在数据帧上调用coalesce。e、 g: df.coalesce(20).write.parquet(filepath) 当然,如果您有各种选项(例如partitionBy),文件的数量可能会急剧增加 还请注意,如果合并到非常少的分区,这可能会变得非常慢(既因为在分区之间复制数据,也因为如果合并到足够
df.coalesce(20).write.parquet(filepath)
当然,如果您有各种选项(例如partitionBy),文件的数量可能会急剧增加
还请注意,如果合并到非常少的分区,这可能会变得非常慢(既因为在分区之间复制数据,也因为如果合并到足够小的分区,并行度会降低)。如果单个分区中的数据太大(当合并分区时,数据自然会变大),也可能会出现OOM错误
有几件事需要注意:
- 自版本1.4.0以来,已取消对SaveAspQuetFile的访问权限。改为使用write.parquet(路径)
- 根据您的用例,在拼花地板文件中搜索特定字符串可能不是最有效的方法
df.coalesce(20).write.parquet(filepath)
当然,如果您有各种选项(例如partitionBy),文件的数量可能会急剧增加
还请注意,如果合并到非常少的分区,这可能会变得非常慢(既因为在分区之间复制数据,也因为如果合并到足够小的分区,并行度会降低)。如果单个分区中的数据太大(当合并分区时,数据自然会变大),也可能会出现OOM错误
有几件事需要注意:
- 自版本1.4.0以来,已取消对SaveAspQuetFile的访问权限。改为使用write.parquet(路径)
- 根据您的用例,在拼花地板文件中搜索特定字符串可能不是最有效的方法