Nella versione Spark 1.2.0 si potrebbe usare subtract
con 2 SchemRDD
s per finire con il solo diversi contenuti dal primoSpark: sottraggono due DataFrames
val onlyNewData = todaySchemaRDD.subtract(yesterdaySchemaRDD)
onlyNewData
contiene le righe che todaySchemRDD
non esistono in yesterdaySchemaRDD
.
Come è possibile ottenere questo risultato con DataFrames
in Spark versione 1.3.0?
Cosa succede se ho bisogno di eseguire l'eccezione non su tutta la fila, ma solo una colonna? Per esempio. Le righe 'dataFrame1' tranne quelle in cui' primary_key' non appare in 'dataFrame2'? (sembra "sottrarreByKey" per gli RDD, ma preferibilmente per un dataframe. –
@KatyaHandler Puoi usare un 'LEFT JOIN' accoppiato con un' IS NULL' sulla chiave del dataframe unito.Il sql per questo è qualcosa del tipo: 'SELECT * FROM df1 LEFT JOIN df2 ON df1.id = df2.id DOVE df2.id È NULL' – Interfector
@KatyaHandler: Sto anche cercando la stessa soluzione .. potresti dirmi come hai realizzato usando DF, puoi si prega di aggiornare la risposta – Shankar