对rdd上spark scala中的hash连接

bhmjp9jg  于 2021-05-19  发布在  Spark
关注(0)|答案(0)|浏览(303)

我试图在SparkScala中执行分区+广播连接。我有一本字典,我正在广播给所有的节点。词典的结构如下:

{ key: Option[List[Strings]] } // I created this dictionary using a groupByKey first and then called collectAsMap before broadcasting.

上面的字典是使用结构与下面提到的表相似的表创建的。
我有一个表,它是一对rdd,其结构如下: Col A | Col B 我正在尝试执行以下连接:

val join_output = table.flatMap{
      case(key, value) => custom_dictionary.value.get(key).map(
        otherValue => otherValue.foreach((value, _))
      )
    }

我的目标是得到一对rdd作为输出,其内容是(从表,从字典中存储的列表)。
代码运行和编译成功,但当我检查输出时,我只看到:“()”作为正在保存的输出。我哪里出错了?我确实看了一些其他的帖子,这些帖子在一定程度上反映了这个问题,但没有一个选项奏效。我请求就这个问题提供一些指导。另外,如果有一个职位,正是指向这个,请让我知道。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题