Я читаю искру CSV. Я предоставляю схему для файла, который я читаю, и я читаю его в разрешающем режиме. Я хотел бы сохранить все записи в columnNameOfCorruptRecord (в моем случае в поврежденном_отчете).
Я прошел через ад, чтобы настроить это, и все еще получаю предупреждения, что я не могу подавить то, что мне не хватает.
Итак, сначала для того, чтобы получить столбец corpted_records, мне нужно было добавить его в схему как StringType. Это задокументировано, так что все в порядке.
Но всякий раз, когда я читаю файл, появляется предупреждение о том, что схема не совпадает, потому что количество столбцов отличается. Это всего лишь предупреждение, но оно заполняет мои журналы.
Также, когда есть поле, которое не может быть обнуляемо, и есть поврежденная запись, поврежденная запись отправляется в столбец коррупции и все ее поля устанавливаются в ноль, поэтому я получаю исключение, потому что у меня есть поле, не обнуляемое. Единственное, что нужно решить, это установить, что столбцы не обнуляются. Что довольно странно.
Я что-то упустил?
Резюме:
- Есть ли способ игнорировать предупреждение, когда я добавляю
столбец в схеме
- Есть ли способ использовать
Режим PERMISSIVE и столбец corpted_records со схемой, которая имеет
необнуляемые поля.
Спасибо!