Сравните два разных RDD, используя scala - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть два RDD - один из файловой системы hdfs, а другой создан из строки, как показано ниже -

val txt=sc.textFile("/tmp/textFile.txt")

val str="This\nfile is\nallowed"
val strRDD=sc.parallelize(List(str))

enter image description here

enter image description here

Теперь я хочу сравнить два данных в этих двух СДР: enter image description here

OR

enter image description here

Результат должен быть пустым СДР, но это не так. Может кто-нибудь объяснить, , как мне сравнить данные этих двух СДР ?

1 Ответ

0 голосов
/ 30 апреля 2018

Значения двух созданных вами чисел выглядят одинаковыми, но не одинаковыми . Это очевидно, если вы сделаете подсчет элементов в обоих числах как

txt.collect().count(!_.isEmpty)
//res0: Int = 3

strRDD.collect().count(!_.isEmpty)
//res1: Int = 1

Результат должен быть пустым СДР, но это не так.

По этой причине результаты txt.subtract(strRDD) и strRDD.subtract(txt) не совпадают

val txt=sc.textFile("/tmp/textFile.txt") дает каждую строку как отдельный элемент в txt СДР

val str="This\nfile is\nallowed" val strRDD=sc.parallelize(List(str)) дает один \n отдельный элемент в strRDD RDD

Надеюсь, объяснение понятно

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