Ведение журнала ошибок DML в Oracle переписано в Spark SQL - PullRequest
0 голосов
/ 10 октября 2019

Я совершенно новичок в 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?

...