gpt4 book ai didi

hadoop - 如何在 spark 中处理后发布单个 Parquet 文件

转载 作者:可可西里 更新时间:2023-11-01 15:11:16 26 4
gpt4 key购买 nike

我有一个包含 100,000 条记录的 Parquet 文件。我想并行处理所有记录,我的处理将生成更多列。因此,如果我的 Parquet 文件有 3 列和 100,000 条记录,我的文件如下所示 -

col A    col B     colC
aa bb cc
aa1 bb1 cc1

并行处理后,我想要一个包含相同列和 3 列的新 Parquet 文件。我的输出看起来像这样 -

col A    col B     colC     colD      colE       colF
aa bb cc dd ee ff
aa1 bb1 cc1 dd1 ee1 ff1

我想知道-

  • 在 spark 节点中并行运行后,如何将所有结果合并到 1 个 parquet 文件中?
  • 如何向现有文件添加更多列?

如有任何帮助,我们将不胜感激。

最佳答案

您始终可以将数据重新分区到单个分区中

df.repartition(1)

如果您只是进行实验或使用小型数据集(100,000 条合理长度的记录可以被视为小型数据),它就可以完成工作。但是,如果您希望您的应用程序能够优雅地扩展,您应该避免这种激进的重新分区并编写多个 parquet 文件,拥有多个输出文件有什么不好?

关于你的第二个问题, Parquet 文件被设计成不可变的,所以做你想做的最直接的方法是读取数据,添加相关列并将数据保存回 Parquet (覆盖现有文件,或者将修改后的数据保存到新目录)。

关于hadoop - 如何在 spark 中处理后发布单个 Parquet 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38293869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com