如何創建包含與table1表欄位不匹配的表記錄的資料istituto, service_rap, filiale_rap, codice_rap框table2
我嘗試過這樣的事情(但這不起作用):
val result: Dataset[Row] = table1.where($"istituto".notEqual(table2("istituto")))
val result: Dataset[Row] = table1.where($"istituto" =!= (table2("istituto")))
錯誤:
Exception in thread "main" org.apache.spark.sql.AnalysisException: Resolved attribute(s) istituto#16 missing from istituto#42,servizio_rap#43,filiale_rap#44,codice_rap#45,ndg#46 in operator !Filter NOT (istituto#42 = istituto#16). Attribute(s) with the same name appear in the operation: istituto. Please check if the right attribute(s) are used.;
!Filter NOT (istituto#42 = istituto#16)
表格1:
private val table1: DataFrame = Seq(
("03104", "001", "00002", "123456", "ndg1"),
("03104", "001", "00002", "123455", "ndg2")
).toDF("istituto", "servizio_rap", "filiale_rap", "codice_rap", "ndg")
表2:
private val secondInput: DataFrame = Seq(
("03106", "001", "00002", "123456", "ndg1"))
.toDF("istituto", "servizio_rap", "filiale_rap", "codice_rap", "ndg")
預期結果:
-------- ------------ ----------- ---------- ----
|istituto|servizio_rap|filiale_rap|codice_rap|ndg |
-------- ------------ ----------- ---------- ----
|03106 |002 |00003 |123465 |ndg1|
-------- ------------ ----------- ---------- ----
uj5u.com熱心網友回復:
來自@Miko 的評論:
使用leftantijoin解決
val result: DataFrame = secondInput.join(input,Seq("servizio_rap","filiale_rap","codice_rap","istituto"),"leftanti")
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/338800.html
