gpt4 book ai didi

java - 自定义 RDD 的分区提示

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:22 27 4
gpt4 key购买 nike

JDBCRDD 可能被分区以在数据库上进行高效的查询并行化。

有没有办法将数据如何划分为下一阶段的有用提示,可能是 groupBy,而不必重新划分数据?

示例:我正在加载日期/地区/值。使用 JDBCRDD 我正在加载按日期分区的数据。如果我想减少/groupBy 日期和区域,我不应该再次对日期进行排序和混洗,并利用 RDD 已经按日期分区的事实。

在一个伪 API 中,我会做如下事情:

RDD rdd = new JDCBCRDD ...
Partitioner partitioning = (Row r)->p(r)
rdd.assertPartitioning(partitioning);
RDD<Pair<Key,Row>> rdd2 = rdd.groupWithinPartition((r)->f(r),Rowoperator::sum);

所以现在理论上,我所有的分组都将在本地 JVM 实例、相同节点、相同 JVM、相同线程中执行。

最佳答案

如果你的意思是需要保留每个元素的分区索引信息,我认为mapWith是你需要的。您可以将分区索引与数据分组到一个新类中并传递到下一阶段。

关于java - 自定义 RDD 的分区提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30473483/

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