Команды оболочки и утилиты
Команды оболочки
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, операторы сохранения (store) не будут вызывать выполнение; вместо этого весь скрипт анализируется перед началом выполнения. В отличие от команды 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 попытается прервать все связанные задачи MapReduce. Однако в определенных условиях это может не сработать, например, когда задача Pig прерывается и не успевает выполнить свои процедуры завершения.
Пример
В этом примере прерывается задача с id 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 каждый оператор сохранения (store) запускается. Операторы из скрипта добавляются в историю команд, и все алиасы, определенные в скрипте, могут быть использованы в последующих операторах после завершения команды 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 | Строка, содержащая путь. | Для потоковой передачи устанавливает путь, с которого не отправлять данные (см. DEFINE (UDFs, потоковая передача) и О Протоковой передаче). |
Все свойства 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.14.0/cmds.html