После вызова оболочки Grunt вы можете запустить свои сценарии Pig в оболочке. В дополнение к этому, есть некоторые полезные команды оболочки и утилиты, предоставляемые оболочкой Grunt. В этой главе описываются команды оболочки и утилиты, предоставляемые оболочкой Grunt.
Примечание. В некоторых частях этой главы используются такие команды, как Load и Store . Обратитесь к соответствующим главам, чтобы получить подробную информацию о них.
Команды оболочки
Оболочка Grunt Apache Pig в основном используется для написания латинских скриптов Pig. До этого мы можем вызывать любые команды оболочки, используя sh и fs .
Sh Command
Используя команду sh , мы можем вызывать любые команды оболочки из оболочки Grunt. Используя команду sh из оболочки Grunt, мы не можем выполнять команды, которые являются частью среды оболочки ( ex- cd).
Синтаксис
Ниже приведен синтаксис команды sh .
grunt> sh shell command parameters
пример
Мы можем вызвать команду ls оболочки Linux из оболочки Grunt, используя опцию sh, как показано ниже. В этом примере он перечисляет файлы в каталоге / pig / bin / .
grunt> sh ls pig pig_1444799121955.log pig.cmd pig.py
Команда FS
Используя команду fs , мы можем вызывать любые команды FsShell из оболочки Grunt.
Синтаксис
Ниже приведен синтаксис команды fs .
grunt> sh File System command parameters
пример
Мы можем вызвать команду ls HDFS из оболочки Grunt с помощью команды fs. В следующем примере перечислены файлы в корневом каталоге HDFS.
grunt> fs –ls Found 3 items drwxrwxrwx - Hadoop supergroup 0 2015-09-08 14:13 Hbase drwxr-xr-x - Hadoop supergroup 0 2015-09-09 14:52 seqgen_data drwxr-xr-x - Hadoop supergroup 0 2015-09-08 11:30 twitter_data
Таким же образом мы можем вызывать все другие команды оболочки файловой системы из оболочки Grunt с помощью команды fs .
Команды утилиты
Оболочка Grunt предоставляет набор служебных команд. К ним относятся служебные команды, такие как очистка, справка, история, выход и установка ; и такие команды, как exec, kill и run для управления Pig из оболочки Grunt. Ниже приведено описание служебных команд, предоставляемых оболочкой Grunt.
очистить команду
Команда очистки используется для очистки экрана оболочки Grunt.
Синтаксис
Вы можете очистить экран оболочки grunt с помощью команды очистки, как показано ниже.
grunt> clear
Команда помощи
Команда help выдает список команд Pig или свойств Pig.
использование
Вы можете получить список команд Pig, используя команду help, как показано ниже.
grunt> help Commands: <pig latin statement>; - See the PigLatin manual for details: http://hadoop.apache.org/pig File system commands:fs <fs arguments> - Equivalent to Hadoop dfs command: http://hadoop.apache.org/common/docs/current/hdfs_shell.html Diagnostic Commands:describe <alias>[::<alias] - Show the schema for the alias. Inner aliases can be described as A::B. explain [-script <pigscript>] [-out <path>] [-brief] [-dot|-xml] [-param <param_name>=<pCram_value>] [-param_file <file_name>] [<alias>] - Show the execution plan to compute the alias or for entire script. -script - Explain the entire script. -out - Store the output into directory rather than print to stdout. -brief - Don't expand nested plans (presenting a smaller graph for overview). -dot - Generate the output in .dot format. Default is text format. -xml - Generate the output in .xml format. Default is text format. -param <param_name - See parameter substitution for details. -param_file <file_name> - See parameter substitution for details. alias - Alias to explain. dump <alias> - Compute the alias and writes the results to stdout. Utility Commands: exec [-param <param_name>=param_value] [-param_file <file_name>] <script> - Execute the script with access to grunt environment including aliases. -param <param_name - See parameter substitution for details. -param_file <file_name> - See parameter substitution for details. script - Script to be executed. run [-param <param_name>=param_value] [-param_file <file_name>] <script> - Execute the script with access to grunt environment. -param <param_name - See parameter substitution for details. -param_file <file_name> - See parameter substitution for details. script - Script to be executed. sh <shell command> - Invoke a shell command. kill <job_id> - Kill the hadoop job specified by the hadoop job id. set <key> <value> - Provide execution parameters to Pig. Keys and values are case sensitive. The following keys are supported: default_parallel - Script-level reduce parallelism. Basic input size heuristics used by default. debug - Set debug on or off. Default is off. job.name - Single-quoted name for jobs. Default is PigLatin:<script name> job.priority - Priority for jobs. Values: very_low, low, normal, high, very_high. Default is normal stream.skippath - String that contains the path. This is used by streaming any hadoop property. help - Display this message. history [-n] - Display the list statements in cache. -n Hide line numbers. quit - Quit the grunt shell.
Команда истории
Эта команда отображает список операторов, выполненных / использованных до тех пор, пока вызывается Grunt sell.
использование
Предположим, мы выполнили три оператора с момента открытия оболочки Grunt.
grunt> customers = LOAD 'hdfs://localhost:9000/pig_data/customers.txt' USING PigStorage(','); grunt> orders = LOAD 'hdfs://localhost:9000/pig_data/orders.txt' USING PigStorage(','); grunt> student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',');
Затем, используя команду history, получим следующий вывод.
grunt> history customers = LOAD 'hdfs://localhost:9000/pig_data/customers.txt' USING PigStorage(','); orders = LOAD 'hdfs://localhost:9000/pig_data/orders.txt' USING PigStorage(','); student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',');
установить команду
Команда set используется для отображения / назначения значений клавишам, используемым в Pig.
использование
Используя эту команду, вы можете установить значения для следующих клавиш.
ключ | Описание и значения |
---|---|
default_parallel | Вы можете установить число редукторов для задания карты, передавая любое целое число в качестве значения для этого ключа. |
отлаживать | Вы можете выключить или включить существо отладки в Pig, передавая / выключая эту клавишу. |
название работы | Вы можете установить имя задания на требуемое задание, передав строковое значение этому ключу. |
job.priority |
Вы можете установить приоритет задания для задания, передав этому ключу одно из следующих значений:
|
stream.skippath | Для потоковой передачи вы можете установить путь, откуда данные не должны передаваться, передавая этот ключ в виде строки в виде строки. |
Вы можете установить приоритет задания для задания, передав этому ключу одно из следующих значений:
выйти из команды
Вы можете выйти из оболочки Grunt с помощью этой команды.
использование
Выйдите из оболочки Grunt, как показано ниже.
grunt> quit
Давайте теперь посмотрим на команды, с помощью которых вы можете управлять Apache Pig из оболочки Grunt.
Exec Command
Используя команду exec , мы можем выполнить сценарии Pig из оболочки Grunt.
Синтаксис
Ниже приведен синтаксис служебной команды exec .
grunt> exec [–param param_name = param_value] [–param_file file_name] [script]
пример
Предположим, что в каталоге / pig_data / HDFS есть файл student.txt со следующим содержимым.
Student.txt
001,Rajiv,Hyderabad 002,siddarth,Kolkata 003,Rajesh,Delhi
И, предположим, у нас есть файл сценария с именем sample_script.pig в каталоге / pig_data / HDFS со следующим содержимым.
Sample_script.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',') as (id:int,name:chararray,city:chararray); Dump student;
Теперь давайте выполним приведенный выше скрипт из оболочки Grunt с помощью команды exec, как показано ниже.
grunt> exec /sample_script.pig
Выход
Команда exec выполняет сценарий в файле sample_script.pig . Как указано в сценарии, он загружает файл student.txt в Pig и выдает результат оператора Dump, отображающий следующее содержимое.
(1,Rajiv,Hyderabad) (2,siddarth,Kolkata) (3,Rajesh,Delhi)
убить команду
Вы можете убить задание из оболочки Grunt с помощью этой команды.
Синтаксис
Ниже приведен синтаксис команды kill .
grunt> kill JobId
пример
Предположим, что есть запущенное задание Pig с идентификатором Id_0055 , вы можете уничтожить его из оболочки Grunt с помощью команды kill , как показано ниже.
grunt> kill Id_0055
Команда запуска
Вы можете запустить скрипт Pig из оболочки Grunt с помощью команды run
Синтаксис
Ниже приведен синтаксис команды run .
grunt> run [–param param_name = param_value] [–param_file file_name] script
пример
Предположим, что в каталоге / pig_data / HDFS есть файл student.txt со следующим содержимым.
Student.txt
001,Rajiv,Hyderabad 002,siddarth,Kolkata 003,Rajesh,Delhi
И, предположим, у нас есть файл сценария с именем sample_script.pig в локальной файловой системе со следующим содержимым.
Sample_script.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',') as (id:int,name:chararray,city:chararray);
Теперь давайте запустим приведенный выше скрипт из оболочки Grunt с помощью команды run, как показано ниже.
grunt> run /sample_script.pig
Вы можете увидеть вывод скрипта с помощью оператора Dump, как показано ниже.
grunt> Dump; (1,Rajiv,Hyderabad) (2,siddarth,Kolkata) (3,Rajesh,Delhi)
Примечание . Разница между exec и командой run заключается в том, что если мы используем run , операторы из сценария доступны в истории команд.