Я совершенно новичок в Apache Spark. Я должен переписать некоторые процессы ETL, используя Apache Spark. У меня есть очень простой вопрос:
Как мне переписать запрос Oracle, как показано ниже, используя Apache Spark?
INSERT INTO dest
SELECT *
FROM source
LOG ERRORS INTO err$_dest ('INSERT') REJECT LIMIT UNLIMITED;
Я попробовал синтаксис, подобный приведенному ниже, но он не работает:
df.write()
.mode(SaveMode.Append)
.format("jdbc")
.option("url", dbConnTarget.getUrl())
.option("user", dbConnTarget.getUsername())
.option("password", dbConnTarget.getPassword())
.option("driver", dbConnTarget.getDriver().getClass().getName())
.option("dbtable", targetTable)
.option("badRecordsPath",badRecordsPath)
.save();
Я хочу знать, возможно ли ведение журнала ошибок DML, как в Oracle. Для приведенного выше синтаксиса ошибки во время вставки выбрасываются в таблицу err $ _dest. Можно ли указать то же самое для Spark SQL?