2015-08-03 2 views
1

Я хочу запустить PIG в локальном режиме, что очень легко свиного -x местногоfile.pigRun PIG в локальном режиме от oozie

Моего требования запустить PIG в локальном режиме с OOZIE? Возможно ли, как я думаю OOZIE будет автоматически запускать задачу карты?

ответ

0

Это возможно. Когда сценарий свиньи управляется Оози, он запускается как однокадровая карта-сокращение работы, в которой работает только сценарий свиньи, который, в свою очередь, запускает другие задания сокращения карты (когда свинья запускается в режиме mapred).

Кажется, что конфигурация Pig action не позволяет работать в локальном режиме, но вы все еще можете запускать скрипт Pig в локальном режиме с использованием типа действия оболочки. Вам нужно только убедиться, что ваш скрипт, входные и выходные данные находятся в HDFS.

+0

Спасибо за ответ Но Pig в локальном режиме загружает/сохраняет данные из локальной файловой системы вместо HDFS. Сохранение свинья в hdfs имеет смысл, но путь ввода и вывода на hdfs doest имеет смысл? Можете ли вы показать мне, как написать рабочий процесс oozie? –

+0

Вы должны знать, как Оози управляет вещами. Он запускает сценарии свиньи или оболочки, как задания с уменьшением карты, с одним картографом и без редукторов. Поэтому узел выполнения выбирается случайным образом из кластера с уменьшением карты. Поэтому вы не можете сказать, какой узел будет запускать ваш скрипт. Из-за этого нет смысла использовать локальную файловую систему, используйте HDFS, потому что она доступна на всех узлах. Используйте полный URI в форме «hdfs: // namenode: port/path/to/file», чтобы ссылаться на пути HDFS в скрипте свиньи. –

+0

Было бы здорово, если бы вы предложили какие-то соображения при запуске свиньи в локальном режиме с помощью Oozie. –

0

Не думаю, что мы можем запустить свинью в локальном режиме от oozie. Комментарий, который написал Вишал, имеет смысл. В некоторых случаях, когда имеется меньший объем данных, лучше использовать свиньи в локальном режиме. Чтобы запустить в локальном режиме, вы можете запустить, написав сценарий оболочки и планируя это в crontab. Если вы попробуете это через oozie. До сих пор я знаю, что это будет плохо, потому что Оози собирается работать в HDFS.

Если вы хотите, чтобы oozie работал на некоторых данных. Он ожидает, что данные будут в HDFS (т. Е. Распределены). И у вас должен быть скрипт свиньи, а также в hdfs.I повторил, увидев сообщение от AlanGates, где он упомянул, что PIG предназначен для обработки данных из/в HDFS, а улей - для локальных HDFS или HDFS в HDFS.