Запись выходных данных паркета в потоковом задании Hadoop

Есть ли способ записать текстовые данные в файл паркета с помощью потоковой передачи hadoop с использованием Python.

По сути, у меня есть строка, отправляемая из IdentityMapper, которую я хочу сохранить в виде файла паркета.

входы или примеры были бы очень полезны

1 ответ

Решение

Я подозреваю, что нет встроенного способа сделать это, используя встроенную потоковую передачу Hadoop (я не смог ее найти), однако, в зависимости от ваших наборов данных, вы можете использовать сторонний пакет как

https://github.com/whale2/iow-hadoop-streaming

Чтобы сгенерировать Parquet из JSON, ваш потоковый код должен выплевывать json, и вместе со схемой AVRO вы можете написать свой Parquet, используя ParquetAsJsonOutputFormat,

Обратите внимание, что на этом этапе пакет выше имеет некоторые ограничения (например, возможность использовать только примитивные типы и т. Д.).

В зависимости от характера ваших данных вы также можете играть с Kite SDK, как кратко описано здесь:

https://dwbigdata.wordpress.com/2016/01/31/json-to-parquet-conversion/

и здесь:

https://community.cloudera.com/t5/Kite-SDK-includes-Morphlines/JSON-to-Parquet/td-p/20630

ура

Другие вопросы по тегам