gpt4 book ai didi

java - 如何为每个键条目获取单独的RDD

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

我正在使用JavaPariRDD。我有一个pairRDD,其中APL,IBM作为,其交易交易作为。像这样的东西(此处提供的虚拟数据)

(NYSE IBM 2001-12-27 122.7 123.93 122.64 123.5 3826200 111.65)

(NYSE APL 2001-12-27 12.75 12.93 12.64 12.5 3826200 11.65)

现在我有一个场景,我需要为每个键拥有单独的 RDD。我的直接选择是 filter()

sBookRdd = sourceRDD.filter(new MyFilter("IBM")); 
sBookRdd = sourceRDD.filter(new MyFilter("APL"));

如果我为每个公司/股票名称都有单独的 RDD,我可以执行公司特定的分析以及其他分析。我的问题是,对于我的场景,他们还有其他更好的方法吗?

最佳答案

Spark 不支持 RDD 嵌套,因此没有简单的方法可以将一个 RDD 分解为多个 RDD,而无需中间操作。您应该采取的方法取决于您想要实现的目标。

如果您绝对需要每个键都有一个 RDD,那么您可以对数据进行重新分区,编写数据,以便每个分区的文件易于识别,然后启动多个作业来处理每个分区。我不推荐这种方法。

如果您可以使用Iterable,那么您可以使用groupBy或其更高效的表兄弟aggregate。仅使用字符串作为值,很难想象为什么可迭代不能满足您的需求而需要 RDD...

您还应该考虑是否可以使用窗口函数(您将在其中按键分区)通过数据帧/数据集 API 来完成您需要做的事情。

希望这有帮助!

关于java - 如何为每个键条目获取单独的RDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38642082/

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