Разделение файла паркета

HI Я запускаю задания для свиней для обработки данных и сохранения результата в виде файла паркета. Теперь мне нужно разбить этот файл паркета на основе любого из присутствующих столбцов. Есть ли способ добиться этого?


person wazza    schedule 28.10.2015    source источник


Ответы (1)


Да, есть способ: PigMultistrorer.

Вот Java UDF, который вы можете зарегистрировать: https://github.com/saikocat/parquet-mr-contrib/blob/master/parquet-pig-contrib/src/main/java/parquet/pig/ParquetMultiStorer.java

Вы можете передать определенное поле в качестве аргумента мультистора, он сделает раздел, следующий за этим полем.

Когда я тестировал его, у меня были некоторые проблемы с производительностью (очень долгое время работы), поэтому я решил использовать простой multistorage (без паркета). Тогда это было быстрее. Взгляните на эту ссылку, если вы столкнулись с той же проблемой.

https://pig.apache.org/docs/r0.8.1/api/org/apache/pig/piggybank/storage/MultiStorage.html

person AntonyBrd    schedule 28.10.2015
comment
Также я собираюсь ежедневно обрабатывать данные и хранить их в центральном месте, поэтому, если я пойду на свинью, этого не произойдет. Есть ли другой способ, например, использовать java - person wazza; 28.10.2015
comment
Я не уверен, что понимаю, что вы хотите сделать, но вы можете планировать свою работу с помощью Oozie (oozie. apache.org/).Использование Java всегда более гибко, однако занимает больше времени. - person AntonyBrd; 29.10.2015