【问题标题】:How to deal with large number of parquet files如何处理大量parquet文件
【发布时间】:2017-12-16 22:08:05
【问题描述】:

我在 Hadoop 上使用 Apache Parquet,过了一会儿我有一个问题。当我在 Hadoop 上的 Spark 中生成镶木地板时,它会变得非常混乱。当我说混乱时,我的意思是 Spark 工作正在生成大量的镶木地板文件。当我尝试查询它们时,我正在处理大量查询,因为 Spark 正在将所有文件合并在一起。

你能告诉我处理它的正确方法吗,或者我可能会误用它们?您是否已经处理过,您是如何解决的?

更新 1: 将这些文件合并到一个镶木地板中的一些“副业”是否足够好?首选使用什么大小的 parquet 文件,一些上下界限?

【问题讨论】:

  • 如果这些文件是空的或大小小于 15mb,那么您确实需要重新分区数据,但在所有情况下,我们都无法使用给定的信息为您提供准确的答案。请阅读如何在 SO stackoverflow.com/help/how-to-ask 上提问!
  • 还有一个名为parquet-tools 的shell 实用程序,您可以使用它,但应该重新分区。

标签: hadoop apache-spark streaming parquet file-type


【解决方案1】:

减少输出文件数量的好方法是使用coalesce 或repartition。

【讨论】:

    【解决方案2】:

    看看this GitHub repo 和this 答案。简而言之,保持文件大小大于 HDFS 块大小(128MB、256MB)。

    【讨论】:

    • 是否可以在流式传输(每 2 秒)中制作那个大的镶木地板文件,每 2 秒我收到大约 1,000 行。没有视觉泵拼花文件,然后将他存储在 Hadoop 上。大约。因为我有经验 12MB parquet 文件(snappy)中有大约 20M 行。你有更多可以帮助我的链接分享,我将不胜感激:) 没关系,我刚刚阅读了这个 GitHub 存储库:)
    • 只需运行其他将使用上述工具压缩文件的作业,或使用coalesce 自行实现。
    • 你成就了我的一天 :)
    猜你喜欢
    • 2020-01-26
    • 1970-01-01
    • 2012-05-14
    • 2017-12-02
    • 2010-09-12
    • 2023-03-24
    • 2019-06-10
    • 1970-01-01
    • 2017-04-24
    相关资源
    最近更新 更多