Spec-Zone.ru › Apache Pig 0.17

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

  • Команды оболочки
    • 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

Термины

ключ

Описание.

none

нет параметров

Пример

В этом примере команда clear очищает оболочку Pig grunt.

%%%CODE_BLOCK_2%%

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 свойства", чтобы получить список свойств.

$ 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]

Термины

ключ

Описание.

-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 каждый оператор 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–2017 Apache Software Foundation
Licensed under the Apache Software License version 2.0.
https://pig.apache.org/docs/r0.17.0/cmds.html

Spec-Zone.ru

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