Получить HashMap от RDD - PullRequest
       7

Получить HashMap от RDD

0 голосов
/ 13 ноября 2018

У меня есть требование получить глобальную HashMap от RDD [HashMap]. Например, СДР - это СДР [HashMap [Ключ, значение]]. Я хочу получить из этого глобальный HashMap, чтобы я мог использовать этот HashMap для обогащения сообщений, присутствующих в других СДР.

Может кто-нибудь помочь мне, как это сделать.

Спасибо

1 Ответ

0 голосов
/ 13 ноября 2018

Так что, как говорится в комментарии, вам понадобится функция слияния.Предполагая, что вам подходит простое слияние хеш-карт, например, если ключи / значения уникальны, вы можете слить их в локальную карту, используя что-то простое, например rdd.reduce(_++_).Затем вы захотите транслировать его так, чтобы он эффективно отправлялся каждому исполнителю один раз.Как только он находится в переменной широковещания, его можно использовать в операциях RDD с другими RDD, такими как обогащение сообщений, как вы сказали.

val brodcast = sparkContext.broadcast( rdd.reduce(_++_) )

И это можно использовать с помощью broadcast.value

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...