Как сравнить столбцы в двух данных в Scala (спарк) - PullRequest
0 голосов
/ 07 февраля 2020

Мы перемещаем данные из table1 в table2. Мне нужно создать отчет выверки, если данные в table1 существуют в table2.

Пример:

val df1 = """(select col1, col2, col3, col4 from table1)""" 
val df2 = """(select col21,col22,col23,c24 from table2)"""

Теперь мне нужно проверить, существуют ли данные в таблице1 в таблице2 и напишите в отчет, если он отсутствует.

1 Ответ

0 голосов
/ 08 февраля 2020

Left anti join - это элегантный способ фильтрации строк, которые существуют в dataframe1, но не существуют в dataframe2, путем сравнения одного или нескольких столбцов двух dataframes.
Поскольку решение left anti join вас не устраивает, следовательно, позволяет go впереди альтернативным путем.

Предположим, у нас есть два кадра данных с общими именами столбцов:

val DF1 = Seq(
  ("Ravi", 20),
  ("Kiran", 25),
  ("Gaurav", 30),
  ("Vinay", 35),
  ("Mahesh", 40)
).toDF("name", "age")
val DF2 = Seq(
  ("Ravi", 20),
  ("Mahesh", 40)
).toDF("name", "age")
DF1.except(DF2).show()

output screenshot

Также проверьте прекрасное решение, данное Цахом Зохаром с помощью оставленного против включения искры

...