Команды оболочки и утилиты
Команды оболочки
fs
Вызывает любую команду FsShell изнутри скрипта Pig или оболочки Grunt.
Синтаксис
| fs подкоманда параметры_подкоманды |
Термины
| подкоманда | Команда FsShell. |
| параметры_подкоманды | Параметры команды FsShell. |
Использование
Используйте команду fs для вызова любой команды FsShell изнутри скрипта Pig или оболочки Grunt. Команда fs значительно расширяет набор поддерживаемых команд файловой системы и возможности существующих команд, таких как ls, которые теперь поддерживают подстановку шаблонов. Полный список команд FsShell см. в Руководстве по оболочке файловой системы
Примеры
В этих примерах создаётся директория, копируется файл и выводится список файлов.
fs -mkdir /tmp fs -copyFromLocal file-x file-y fs -ls file-y
sh
Вызывает любую команду оболочки sh изнутри скрипта Pig или оболочки Grunt.
Синтаксис
| sh подкоманда параметры_подкоманды |
Термины
| подкоманда | Команда оболочки sh. |
| параметры_подкоманды | Параметры команды оболочки sh. |
Использование
Используйте команду sh для вызова любой команды оболочки sh изнутри скрипта Pig или оболочки Grunt.
Обратите внимание, что с помощью команды sh можно запускать только реальные программы. Такие команды, как cd, не являются программами, а частью среды оболочки, и поэтому их нельзя выполнить, если пользователь не вызовет оболочку явно, например, "bash cd".
Пример
В этом примере вызывается команда ls.
grunt> sh ls bigdata.conf nightly.conf ..... grunt>
Команды утилит
clear
Очистить экран оболочки Pig grunt и установить курсор в начало экрана.
Синтаксис
| clear |
Термины
| key | Описание. |
| none | без параметров |
Пример
В этом примере команда clear очищает оболочку Pig grunt.
grunt> clear
exec
Запуск скрипта Pig.
Синтаксис
| exec [–param имя_параметра = значение_параметра] [–param_file имя_файла] [скрипт] |
Термины
| –param имя_параметра = значение_параметра | |
| –param_file имя_файла | |
| скрипт | Имя скрипта Pig. |
Использование
Используйте команду exec для запуска скрипта Pig в пакетном режиме без взаимодействия со скриптом и оболочкой Grunt. Определенные в скрипте псевдонимы недоступны для оболочки, однако файлы, созданные в результате работы скрипта и сохраненные на системе, видны после запуска скрипта. Псевдонимы, определенные через оболочку, недоступны скрипту.
При использовании команды exec операторы сохранения не запускают выполнение; вместо этого весь скрипт анализируется до начала выполнения. В отличие от команды run, команда exec не изменяет историю команд и не запоминает дескрипторы, используемые внутри скрипта. Exec без параметров можно использовать в скриптах для принудительного выполнения до того момента в скрипте, где происходит exec.
Для сравнения см. команду run. Обе команды, exec и run, полезны для отладки, потому что вы можете изменить скрипт Pig в редакторе и затем повторно запустить скрипт в оболочке Grunt, не выходя из неё. Кроме того, обе команды способствуют модульности скриптов Pig, позволяя повторно использовать существующие компоненты.
Примеры
В этом примере скрипт отображается и выполняется.
grunt> cat myscript.pig a = LOAD 'student' AS (name, age, gpa); b = LIMIT a 3; DUMP b; grunt> exec myscript.pig (alice,20,2.47) (luke,18,4.00) (holly,24,3.27)
В этом примере подстановка параметров используется с командой exec.
grunt> cat myscript.pig a = LOAD 'student' AS (name, age, gpa); b = ORDER a BY name; STORE b into '$out'; grunt> exec –param out=myoutput myscript.pig
В этом примере задается несколько параметров.
grunt> exec –param p1=myparam1 –param p2=myparam2 myscript.pig
help
Выводит список команд Pig или свойств.
Синтаксис
| -help [свойства] |
Термины
| свойства | Список свойств Pig. |
Использование
Команда help выводит список команд Pig или свойств.
Пример
Используйте "-help", чтобы получить список команд.
$ pig -help
Apache Pig version 0.8.0-dev (r987348)
compiled Aug 19 2010, 16:38:44
USAGE: Pig [options] [-] : Run interactively in grunt shell.
Pig [options] -e[xecute] cmd [cmd ...] : Run cmd(s).
Pig [options] [-f[ile]] file : Run cmds found in file.
options include:
-4, -log4jconf - Log4j configuration file, overrides log conf
-b, -brief - Brief logging (no timestamps)
-c, -check - Syntax check
etc …
Используйте "-help properties", чтобы получить список свойств.
$ pig -help properties
The following properties are supported:
Logging:
verbose=true|false; default is false. This property is the same as -v switch
brief=true|false; default is false. This property is the same as -b switch
debug=OFF|ERROR|WARN|INFO|DEBUG; default is INFO. This property is the same as -d switch
aggregate.warning=true|false; default is true. If true, prints count of warnings
of each type rather than logging each warning.
etc …
history
Отобразить список использованных ранее операторов.
Синтаксис
| history [-n] |
Термины
| key | Описание. |
| -n | Опустить номера строк в списке. |
Использование
Команда history отображает использованные ранее операторы.
Пример
В этом примере команда history отображает все операторы с номерами строк и без них.
grunt> a = LOAD 'student' AS (name, age, gpa); grunt> b = order a by name; grunt> history 1 a = LOAD 'student' AS (name, age, gpa); 2 b = order a by name; grunt> c = order a by name; grunt> history -n a = LOAD 'student' AS (name, age, gpa); b = order a by name; c = order a by name;
kill
Убивает задачу.
Синтаксис
| kill jobid |
Термины
| jobid | Идентификатор задачи. |
Использование
Используйте команду kill для убийства задачи Pig на основе идентификатора задачи.
Команда kill попытается убить все связанные с задачей Pig задачи MapReduce. Однако в определенных условиях это может не удаться, например, когда задача Pig убивается и не имеет возможности выполнить свои процедуры завершения.
Пример
В этом примере убивается задача с идентификатором job_0001.
grunt> kill job_0001
quit
Выход из оболочки Pig grunt.
Синтаксис
| exit |
Термины
| none | без параметров |
Использование
Команда quit позволяет выйти из оболочки Pig grunt.
Пример
В этом примере команда quit завершает работу оболочки Pig grunt.
grunt> quit
run
Запуск скрипта Pig.
Синтаксис
| run [–param имя_параметра = значение_параметра] [–param_file имя_файла] скрипт |
Термины
| –param имя_параметра = значение_параметра | |
| –param_file имя_файла | |
| скрипт | Имя скрипта Pig. |
Использование
Используйте команду run для запуска скрипта Pig, который может взаимодействовать с оболочкой Grunt (интерактивный режим). Скрипт имеет доступ к псевдонимам, определенным внешне в оболочке Grunt. Оболочка Grunt имеет доступ к псевдонимам, определенным в скрипте. Все команды из скрипта отображаются в истории команд.
При использовании команды run каждый оператор сохранения запускает выполнение. Операторы из скрипта помещаются в историю команд, и все псевдонимы, определенные в скрипте, могут быть использованы в последующих операторах после завершения команды run. Выполнение команды run в командной строке оболочки Grunt в основном эквивалентно ручному вводу операторов.
Для сравнения см. команду exec. Обе команды, run и exec, полезны для отладки, так как вы можете изменить скрипт Pig в редакторе и затем повторно запустить скрипт в оболочке Grunt, не выходя из неё. Кроме того, обе команды способствуют модульности скриптов Pig, позволяя повторно использовать существующие компоненты.
Пример
В этом примере скрипт взаимодействует с результатами команд, выданных через оболочку Grunt.
grunt> cat myscript.pig b = ORDER a BY name; c = LIMIT b 10; grunt> a = LOAD 'student' AS (name, age, gpa); grunt> run myscript.pig grunt> d = LIMIT c 3; grunt> DUMP d; (alice,20,2.47) (alice,27,1.95) (alice,36,2.27)
В этом примере подстановка параметров используется с командой run.
grunt> a = LOAD 'student' AS (name, age, gpa); grunt> cat myscript.pig b = ORDER a BY name; STORE b into '$out'; grunt> run –param out=myoutput myscript.pig
set
Отображает/Присваивает значения ключам, используемым в Pig.
Синтаксис
| set [ключ 'значение'] |
Термины
| ключ | Ключ (см. таблицу). Регистрозависимый. |
| значение | Значение для ключа (см. таблицу). Регистрозависимый. |
Использование
Используйте команду set для присвоения значений ключам, как показано в таблице. Все ключи и соответствующие значения (для Pig и Hadoop) регистрозависимы. Если команда set используется без аргумента пары ключ/значение, Pig выводит все конфигурации и системные свойства.
| Ключ | Значение | Описание |
| default_parallel | целое число | Устанавливает количество редукторов для всех задач MapReduce, генерируемых Pig (см. Использование параллельных возможностей). |
| debug | вкл/выкл | Включает или выключает ведение журнала на уровне отладки. |
| job.name | Строка в одинарных кавычках, содержащая имя задачи. | Устанавливает имя задачи, заданное пользователем |
| job.priority | Допустимые значения (регистронезависимые): very_low, low, normal, high, very_high | Устанавливает приоритет задачи Pig. |
| stream.skippath | Строка, содержащая путь. | Для потоковой передачи устанавливает путь, с которого не нужно отправлять данные (см. ОПРЕДЕЛЕНИЕ (UDFs, streaming) и Об Автоматической отправке). |
Все свойства Pig и Hadoop можно задавать либо в скрипте Pig, либо через командную строку Grunt.
Примеры
В этом примере пары ключ-значение задаются в командной строке.
grunt> SET debug 'on' grunt> SET job.name 'my job' grunt> SET default_parallel 100
В этом примере default_parallel устанавливается в скрипте Pig; все запускаемые задачи MapReduce будут использовать 20 редукторов.
SET default_parallel 20; A = LOAD 'myfile.txt' USING PigStorage() AS (t, u, v); B = GROUP A BY t; C = FOREACH B GENERATE group, COUNT(A.t) as mycount; D = ORDER C BY mycount; STORE D INTO 'mysortedcount' USING PigStorage();
В этом примере несколько пар ключ-значение задаются в скрипте Pig. Эти пары ключ-значение помещаются в job-conf Pig (делая пары доступными для Pig и Hadoop). Это настройка на уровне всего скрипта; если пара ключ-значение определена несколько раз в скрипте, последнее значение будет принято и установлено для всех задач, сгенерированных скриптом.
... SET mapred.map.tasks.speculative.execution false; SET pig.logfile mylogfile.log; SET my.arbitrary.key my.arbitary.value; ...
© 2007–2016 Apache Software Foundation
Licensed under the Apache Software License version 2.0.
https://pig.apache.org/docs/r0.16.0/cmds.html