我嘗試在Spark SQL中重新創建SQL查詢。通常我會插入這樣一個表:在哪裏條件下帶有子選擇的Spark數據集
INSERT INTO Table_B
(
primary_key,
value_1,
value_2
)
SELECT DISTINCT
primary_key,
value_1,
value_2
FROM
Table_A
WHERE NOT EXISTS
(
SELECT 1 FROM
Table_B
WHERE
Table_B.primary_key = Table_A.primary_key
);
星火SQL很簡單,我可以從TempView在一個新的數據集加載數據。不幸的是,我不知道如何重建where子句。
Dataset<Row> Table_B = spark.sql("SELECT DISTINCT primary_key, value_1, value_2 FROM Table_A").where("NOT EXISTS ... ???");