Как отфильтровать / удалить подмножества в столбце набора данных Spark, используя Scala? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть набор данных только с одним столбцом типа Array[String].

+------------------------+
|                    col |
+------------------------+
|["AA", "BB", "CC", "DD"]|
|["BB", "CC", "DD"]      |
|["AA","CC"]             |
|["EE", "FF", "GG"]      |
|["FF"]                  |
|["EE", "GG"]            |
|["KK", "LL", "MM"]      |
+------------------------+

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

    +------------------------+
    |                    col |
    +------------------------+
    |["AA", "BB", "CC", "DD"]|
    |["EE", "FF", "GG"]      |
    |["KK", "LL", "MM"]      |
    +------------------------+

Здесь ["BB", "CC", "DD"] и ["AA","CC"] - подмножества ["AA", "BB", "CC", "DD"], а ["FF"] и ["EE", "GG"] - подмножества ["EE", "FF", "GG"]. Таким образом, эти подмножества будут исключены из результирующего набора данных.

1 Ответ

0 голосов
/ 08 мая 2018

Вы Array [String] .map () в Array [Set], затем используете subsetOf для фильтрации Array [Set]

...