Spark SQL - загрузка файлов CSV / PSV с некоторыми искаженными записями

Мы загружаем иерархии каталогов файлов с помощью Spark и конвертируем их в Parquet. В сотнях файлов, разделенных каналом, десятки гигабайт. Некоторые сами по себе довольно большие.

Каждый, скажем, сотый файл имеет строку или две, в которых есть дополнительный разделитель, который прерывает весь процесс (или файл).

Мы загружаем, используя:

sqlContext.read
        .format("com.databricks.spark.csv")
        .option("header", format("header"))
        .option("delimiter", format("delimeter"))
        .option("quote", format("quote"))
        .option("escape", format("escape"))
        .option("charset", "UTF-8")
        // Column types are unnecessary for our current use cases.
        //.option("inferschema", "true")
        .load(glob)

Есть ли какое-либо расширение или механизм обработки событий со Spark, который мы могли бы присоединить к логике, которая читает строки, что, если встречается искаженная строка, просто пропускает строку, а не завершает процесс на ней?

(Мы планируем провести дополнительную предварительную обработку, но это будет самое быстрое и критическое исправление.)

Ответы на вопрос(1)

Ваш ответ на вопрос