Можно ли использовать потоковую передачу Pig (StreamToPig) таким образом, что несколько строк обрабатываются как один входной кортеж? - PullRequest
1 голос
/ 28 марта 2012

Я передаю данные в сценарии pig через исполняемый файл, который возвращает фрагмент xml для каждой строки входного потока, который я передаю ему.Этот xml-фрагмент занимает несколько строк, и я не имею никакого контроля над выводом потока исполняемого файла I на

относительно Использование Hadoop Pig для загрузки данных из текстового файла с каждой записью на несколькихстрок? , в ответ предлагалось написать собственный ридер для записи.Проблема в том, что это работает нормально, если вы хотите реализовать LoadFunc, который читает из файла, но чтобы иметь возможность использовать потоковую передачу, он должен реализовать StreamToPig.StreamToPig позволяет читать только одну строку за раз, насколько я понял

Кто-нибудь знает, как справиться с такой ситуацией?

1 Ответ

0 голосов
/ 03 июня 2012

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

...