Я использую Pig через Cloudera Hue (веб-интерфейс), а не через командную строку. И, собственно, из-за корпоративных ограничений у меня нет доступа к командной строке, а только к самой Pig Shell через веб-интерфейс. Я хотел бы узнать свою версию Apache Pig с помощью некоторой команды, которую я могу выполнить на самом языке Pig. Кто-нибудь знает, как это сделать?
Как программно узнать версию Apache Pig?
Ответы (2)
О версии можно догадаться по логам, но если поставить
--версия
в качестве «параметра свиньи» на вкладке свойств в левом поле будет напечатано:
Версия Apache Pig 0.12.0-cdh5.3.0-SNAPSHOT (реэкспортированная), скомпилирована 29 сентября 2014 г., 03:12:32
Запустите скрипт свиньи с помощью PigRunner.run() для Pig версии 0.8+ Apache Pig версии 0.12.0-cdh5.3.0-SNAPSHOT (реэкспортировано), скомпилировано 29 сентября 2014 г., 03:12:32
Вы можете объявить переменную в файле свойств следующим образом:
PIG_VERSION `/home/hadoop/pig/bin/pig -version|head -n 1`
Это обратные кавычки. Теперь в вашем скрипте PIG_VERSION будет содержать версию. В моем случае выполняется:
Apache Pig version 0.12.0 (rexported)
Быстрый и грязный способ проверить вывод — попытаться записать файл в «SomeDirectory/$PIG_VERSION», и он создаст вложенную структуру каталогов с каждым словом.