Как отфильтровать все строки в dataframe_1 для каждого значения в dataframe_2? - PullRequest
1 голос
/ 06 апреля 2019

У меня есть два искровых фрейма данных: dataframe_1 со всеми транзакциями элементов и dataframe_2 с уникальными идентификаторами элементов. Я хочу отфильтровать все строки из dataframe1 для каждого значения в dataframe_2.

Я пытаюсь использовать запрос на соединение, но не знаю, как действовать ниже, это основная программа, написанная на scala:

def main(args: Array[String]) {

    Logger.getLogger("org").setLevel(Level.ERROR)

    val ss = SparkSession
      .builder
      .appName("Self_apriori_1").master("local[*]")
      .getOrCreate()

    import ss.implicits._

    val df_1 = ss.read.option("inferSchema", value=true).csv("/home/balakumar/scala work files/matrimony_3.csv")

     df_1.show()
     df_1.printSchema()

    val df_2 = ss.read.option("inferSchema" ,value=true) csv("/home/balakumar/scala work files/unique_1.txt")


   df_2.show(false)
   df_2.printSchema()
  }
}

Ниже приведены выходные данные dataframe_1 и dataframe_2 для команды show () для каждого значения в dataframe_2, скажем (101), я требую, чтобы следующие строки были отфильтрованы там, где присутствует 101

>|101|201| 301| 401|
>|101|201| 301|null|
>|101|201|null|null|
>|101|501|null|null|

Аналогично для всех значений в dataframe_2 мне требуется отфильтровать все строки. Возможно ли это с помощью команды соединения?

>#dataframe_1

>+---+---+----+----+
> _c0|_c1| _c2| _c3
>+---+---+----+----+
>|101|201| 301| 401|
>|101|201| 301|null|
>|101|201|null|null|
>|101|501|null|null|
>|601|201| 301|null|
>|601|201|null|null|
>|601|501|null|null|
>+---+---+----+----+

>root
> |-- _c0: integer (nullable = true)
> |-- _c1: integer (nullable = true)
> |-- _c2: integer (nullable = true)
> |-- _c3: integer (nullable = true)

>#dataframe_2

>+---+
>|_c0|
>+---+
>|101|
>|201|
>|301|
>|401|
>|501|
>|601|
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...