广播变量未显示在分区Apache Spark中

时间:2015-10-30 03:40:36

标签: json mongodb scala apache-spark apache-spark-sql

情景和问题: 我想基于查找表值向JSON对象添加两个属性,并将JSON插入Mongo DB。我有广播变量,它保存查找表。但是,我无法在foreachPartition中访问它,正如您在代码中看到的那样。它没有给我任何错误,但根本没有显示任何内容。此外,因为它我不能将JSON插入Mongo DB。我找不到这种行为的任何解释。任何解释或努力使它工作非常感谢。

这是我的完整代码:

x <- rt(100, df=15)
dx <- dt(x, df=15)
plot(x, dx)

2 个答案:

答案 0 :(得分:1)

看起来你正试图播放RDD。尝试这样的事情:

broadCastVal = gpsLookUpTable.collect
broadCastTable = sc.broadcast(broadCastVal)

您应该能够获得您期望的价值。

答案 1 :(得分:0)

我对此并不完全确定,但在两次遭遇之后,我正在写这个答案。我可以广播RDD,但我无法访问该值。如果我创建一个列表或treeMap,我也能够广播和检索该值。我不知道为什么。虽然,我还没有找到任何我们无法播放RDD的地方。