gpt4 book ai didi

java - HashMap 作为 Spark Streaming 中的广播变量?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:20:43 26 4
gpt4 key购买 nike

我有一些数据需要在 spark streaming 中分类。分类键值在程序开始时加载到 HashMap 中。因此,每个传入的数据包都需要与这些 key 进行比较并进行相应标记。

我意识到 spark 有称为广播变量和累加器的变量来分发对象。教程中的示例使用简单的变量,例如 etc。

如何使用 HashMap 在所有 spark worker 上共享我的 HashMap。或者,是否有更好的方法来执行此操作?

我正在用 Java 编写我的 Spark Streaming 应用程序。

最佳答案

在 spark 中,您可以用相同的方式广播任何可序列化的对象。这是最好的方法,因为您只需将数据发送给工作人员一次,然后就可以在任何任务中使用它。

斯卡拉:

val br = ssc.sparkContext.broadcast(Map(1 -> 2))

Java:

Broadcast<HashMap<String, String>> br = ssc.sparkContext().broadcast(new HashMap<>());

关于java - HashMap 作为 Spark Streaming 中的广播变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30762273/

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