Spec-Zone.ru › Apache Pig 0.14

Команды оболочки и утилиты

  • Команды оболочки
    • fs
    • sh
  • Команды утилит
    • clear
    • exec
    • help
    • history
    • kill
    • quit
    • run
    • set

Команды оболочки

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API