Spec-Zone.ru › Apache Pig 0.15

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

  • Команды оболочки
    • 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_name = param_value] [–param_file file_name] [script]

Термины

–param param_name = param_value

См. Замену параметров.

–param_file file_name

См. Замену параметров.

script

Имя скрипта 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 [properties]

Термины

properties

Список свойств 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_name = param_value] [–param_file file_name] script

Термины

–param param_name = param_value

См. Замену параметров.

–param_file file_name

См. Замену параметров.

script

Имя скрипта 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 [key 'value']

Термины

key

Ключ (см. таблицу). Регистрозависимый.

value

Значение для ключа (см. таблицу). Регистрозависимый.

Использование

Используйте команду 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, 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.15.0/cmds.html

Spec-Zone.ru

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