Прочитать пустой файл паркета с помощью процессора FetchParquet и получить схему - PullRequest
0 голосов
/ 05 июля 2019

Процессор Nifi FetchParquet не наследует схему из файла Parquet без записей. Мы пытаемся преобразовать файл паркета в csv с помощью CSVRecordSetWriter путем наследования схемы.

Мы выполняем CTAS «создать таблицу как выбор» в кусте и записываем результат в файлы паркета в HDFS. Затем мы пытаемся прочитать эти файлы с помощью процессора Nifi FetchParquet.

Это прекрасно работает для файлов, которые содержат записи. Файлы, которые не содержат записей, потерпят неудачу, даже если схема включена в метаданные файла паркета. Для согласованности должна быть возможность преобразовать это в csv-файл только с заголовком в качестве содержимого.

Какие-либо предложения, как это можно сделать последовательным способом?

1 Ответ

0 голосов
/ 10 июля 2019

Вы можете использовать внешний реестр схемы, чтобы сделать это.

https://hortonworks.com/open-source/schema-registry/

Однако это довольно трудоемкая ручная работа, если только вы не можете написать скрипт для извлечения из метаданных, затем добавить его в SchemaRegistry и аналогичным образом убедиться, что поток NiFi имеет правильную переменную длянамотайте правильную схему.

В качестве альтернативы обязательно проверьте настройки CSVRecordSetWriter, чтобы вы фактически указали файлу проверить наличие заголовков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...