Сохраните вывод задания pig в структуру каталогов, полученную из данных
Я хотел бы добиться следующего:
Мои входные данные выглядят следующим образом
{"metadata":
{
"producerName":"capture_api",
"producerVersion":"3.0.13"
},
"payload":
{
--some payload
}
}
Я хотел бы объединить эти данные, используя скрипт свиньи следующим образом
/finalOutputDir/producerName/producerVersion/File.txt
Есть ли способ, которым я могу сделать это. Я пытался использовать функцию MultiStorage, но этот класс поддерживает только одно поле. Я могу переопределить функциональность внутри многоступенчатой, но просто хотел проверить, есть ли более простой вариант.
1 ответ
Копилка MultiStorage может разделять данные на несколько папок с помощью (только одного?) Поля.
STORE data INTO '$out/$producerName' USING org.apache.pig.piggybank.storage.MultiStorage('$out/$producerName', '0', 'none', ',');