Генерация всех возможных комбинаций из фрейма данных в Apache Spark - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь сделать что-то довольно простое, когда у меня есть 2 массива, которые были преобразованы в фрейм данных, и я хочу показать все возможные комбинации.Так, например, мой вывод на данный момент выглядит примерно так:

+-----------+-----------+
|         A |         B |
+-----------+-----------+
|     First |         T |
|    Second |         P |
+-----------|-----------+

Однако, что я на самом деле ищу, так это:

+-----------+-----------+
|         A |         B |
+-----------+-----------+
|     First |         T |
|     First |         P |
|    Second |         T |
|    Second |         P |
+-----------|-----------+

Пока у меня есть некоторые довольноПрямой код для отображения моих массивов в столбцы, но, будучи новичком в использовании как Scala, так и Spark, я не уверен, как бы я взял все эти комбинации.Вот что у меня есть:

val firstColumnValues = Array("First", "Second")
val secondColumnValues = Array("T", "P")

val xs = Array(firstColumnValues, secondColumnValues).transpose
val mapped = sparkContext.parallelize(xs).map(ys => Row(ys(0), ys(1)))
val df = mapped.toDF("A", "B")

df.show

...

case class Row(first: String, second: String)

Заранее благодарен за любую помощь

1 Ответ

0 голосов
/ 10 октября 2018

In Spark 2.3

val firstColumnValues = sc.parallelize(Array("First", "Second")).toDF("A")
val secondColumnValues = sc.parallelize(Array("T", "P")).toDF("B")
val fullouter = firstColumnValues.crossJoin(secondColumnValues).show
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...