gpt4 book ai didi

java - 在spark1.6 Java API中如何获取数据帧的所有分区值?

转载 作者:行者123 更新时间:2023-12-02 01:08:38 25 4
gpt4 key购买 nike

我有一个分为 3 列的数据框,我想知道是否有一种方法可以使用分区名称获取这些分区的唯一值,而无需迭代整个数据框?

最佳答案

我研究了一点 Spark(1.6 和 2.4)源代码,但没有找到可行的方法。通常,为了检索有关分区的数据,请将 Dataframe 转换为 rdd。然后您将获得一个 MapPartitionsRDD,您可以使用以下方法:

  • 获取分区数量
  • partitioner(返回分区器。转换为 rdd 会破坏信息,因此使用 DF.queryExecution.toRdd.partitioner.getOrElse(null) )
  • glom(返回通过合并每个分区中的所有元素创建的 RDD 进入列表)

这些似乎都不能回答您的问题。您还可以执行以下操作:

someDF.repartition(1).rdd.partitions

获取数组[分区]。但是,从分区中您只能获取 rdd 内该分区的索引。

关于java - 在spark1.6 Java API中如何获取数据帧的所有分区值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57709555/

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