Я застрял на определенном синтаксисе scala-spark, и я надеюсь, что вы можете вести меня в правильном направлении.Выбор определенных элементов RDD1
, если RDD1 является типом Array [((с плавающей точкой, с плавающей точкой, с плавающей точкой), Лонг)],
RDD1.collect = Array ((x1, y1, z1), 1), ((х2, у2, z2), 2), ((x3, y3, y3), 3), ...)
и RDD2 это индексы, типа, Array [Long],
RDD2.collect = Array (1 , 3, 5 ...)
Каков наилучший способ извлечения значений из RDD1, индексы которых встречаются в RDD2. то есть выход, массив ((x1, y1, z1), 1), ((x3, y3, y3), 3), (x5, y5, y5), 5) ...)
Оба RDD1 и RDD2 достаточно велики, поэтому я бы хотел избежать использования .collect. В противном случае проблема заключается в простом поиске пересекающихся элементов в 2 массивах/списках scala.
Большое вам спасибо за помощь!