如何处理大量的镶木地板文件
How to deal with large number of parquet files
我在 Hadoop 上使用 Apache Parquet,一段时间后我有一个问题。当我在 Hadoop 上的 Spark 中生成镶木地板时,它会变得非常混乱。当我说凌乱时,我的意思是 Spark 作业正在生成大量镶木地板文件。当我尝试查询它们时,我正在处理大量查询,因为 Spark 正在将所有文件合并在一起。
你能告诉我正确的处理方法吗,或者我可能误用了它们?您已经处理过了吗?您是如何解决的?
更新 1:
一些 "side job" 用于将这些文件合并到一个 parquet 中是否足够好?最好使用什么大小的镶木地板文件,一些上下边界?
看看 this GitHub repo and 答案。简而言之,保持文件大小大于 HDFS 块大小(128MB、256MB)。
减少输出文件数量的一个好方法是使用coalesce
或repartition
。
我在 Hadoop 上使用 Apache Parquet,一段时间后我有一个问题。当我在 Hadoop 上的 Spark 中生成镶木地板时,它会变得非常混乱。当我说凌乱时,我的意思是 Spark 作业正在生成大量镶木地板文件。当我尝试查询它们时,我正在处理大量查询,因为 Spark 正在将所有文件合并在一起。
你能告诉我正确的处理方法吗,或者我可能误用了它们?您已经处理过了吗?您是如何解决的?
更新 1: 一些 "side job" 用于将这些文件合并到一个 parquet 中是否足够好?最好使用什么大小的镶木地板文件,一些上下边界?
看看 this GitHub repo and
减少输出文件数量的一个好方法是使用coalesce
或repartition
。