Я новичок в спарке и столкнулся с проблемой при добавлении новых данных в раздел.Мой конвейер вводит ежедневные CSV-файлы в Azure Datalake (в основном HDFS), используя блоки данных.Я также выполняю несколько простых преобразований данных, удаляю дубликаты и т. Д. Однако я заметил, что иногда параметр inferSchema=True
не всегда является лучшим и иногда создает несоответствия в схемах между разделенными файлами.Когда я иду читать все файлы:
df = sqlContext.read.parquet("path/to/directory")
У меня появляется:
Parquet column cannot be converted in file path/to/directory/file
Column: [Ndc], Expected: LongType, Found: BINARY
У меня есть тонна разделенных файлов, и я просматриваю каждый из них, чтобы найти,Схема та же, и исправление каждой из них, вероятно, неэффективно.Существует ли простой способ принудительного применения схемы, в которую будут преобразованы все файлы, или вам буквально приходится перебирать каждый файл паркета и изменять схему?
Использование spark 2.3.1
Спасибо.