Улей - команды одним выстрелом

Опубликовано: 18 Февраля, 2022

Hive поставляется с различными командами «One Shot», которые пользователь может использовать через Hive CLI (интерфейс командной строки) без входа в оболочку Hive для выполнения одного или нескольких запросов, разделенных точкой с запятой. Hive CLI предлагает несколько вариантов, которые предоставляют пользователю различные функции. Мы обсудим различные режимы и их функции, а также способы их использования в Улье. Чтобы выполнить приведенную ниже реализацию, убедитесь, что Hive уже запущен.

Выполните следующие шаги, чтобы запустить улей

Шаг 1. Запустите все свои Hadoop Daemon

 start-dfs.sh # это запустит namenode, datanode и вторичный namenode
start-yarn.sh # это запустит диспетчер узлов и диспетчер ресурсов  
jps # Чтобы проверить запущенные демоны

Шаг 2: запустите Hive

 улей

Давайте обсудим одноразовые команды улья

-e параметр / режим

Всякий раз, когда пользователю требуется выполнить один или несколько запросов (разделенных точкой с запятой) в Hive CLI с завершением оболочки Hive, как только запрос был запущен, можно использовать параметр -e с Hive, чтобы включить эту функцию. Выполните приведенное ниже упражнение, чтобы понять его реализацию.

Создать таблицу

 СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ student_details (
имя STRING,
марки FLOAT)
ФОРМАТ СТРОКИ УДАЛЕН
ПОЛЯ, ЗАКОНЧЕННЫЕ ',';

Загрузить данные в таблицу

Данные доступны в формате CSV.

 ЗАГРУЗИТЬ ДАННЫЕ В ЛОКАЛЬНЫЙ ВХОД '/home/dikshant/Documents/data.csv' В ТАБЛИЦУ student_details;

Теперь выйдите из оболочки улья, нажав Ctrl + D.

Используйте приведенную ниже однократную команду hive в CLI (интерфейсе командной строки), если вам необходимо завершить работу оболочки улья, как только запрос покажет свой результат.

Синтаксис:

 улей -e "<команда>"; улей -e "<команда>"; улей -e "<команда>"; ...........

Командование

 улей -e "выбрать * из student_details";

В выводе ниже мы видим, что оболочка улья автоматически завершается, как только завершается выполнение запроса.

Точно так же мы можем использовать несколько запросов, разделенных точкой с запятой, как показано ниже.

 hive -e "выбрать имя из student_details"; hive -e "выбрать * из информации о студенте LIMIT 1";

Результат вышеуказанного запроса:

-S опция / режим

Параметр -S позволяет пользователю сохранять результат запроса CLI куста в файле. -S удаляет все ненужные детали, которые мы видим в интерфейсе командной строки, такие как затраченное время, информация о сеансе Hive или любая другая информация. Эта функция очень полезна, когда мы хотим сохранить чистый результат запроса в файле.

Синтаксис:

 куст -S -e "<команда>"> / путь / имя-файла;

Какое бы имя файла мы ни указали рядом с путем, он будет автоматически создан кустом и сохранит результат нашего запроса. Убедитесь, что указанный вами путь относится к вашей локальной системе, а не к HDFS (распределенной файловой системе Hadoop), потому что Hive записывает свой вывод в «стандартный вывод», а оболочка всегда перенаправляет его на локальный путь.

Команда:

 улей -S -e "выбрать * из student_details"> /home/dikshant/Desktop/query_result.csv;

Мы можем использовать команду SET куста, чтобы либо переопределить существующее свойство улья (не может переопределить переменные среды), либо отобразить свойство конфигурации улья, содержащего системные и переменные среды. Разделенное свойство также можно проверить с помощью команды SET в улье.

Команда:

 улей -S -e "НАБОР" | grep хранилище;

Приведенная выше команда отобразит расположение внутреннего склада для внутренних или управляемых таблиц.