Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Data Proc
  • Практические руководства
    • Работа с заданиями
      • Обзор
      • Работа с заданиями Hive
      • Работа с заданиями MapReduce
      • Работа с заданиями PySpark
      • Работа с заданиями Spark
      • Использование Apache Hive
      • Запуск Spark-приложений
      • Запуск приложений с удаленного хоста
    • Настройка сети для кластеров Data Proc
    • Использование Yandex Object Storage в Data Proc
    • Обмен данными с Managed Service for ClickHouse
    • Импорт базы данных с использованием Sqoop
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к кластеру
    • Изменение кластера
    • Изменение подкластера
    • Управление подкластерами
    • Подключение к интерфейсам компонентов
    • Использование Sqoop
    • Управление заданиями
      • Все задания
      • Задания Spark
      • Задания PySpark
      • Задания Hive
      • Задания MapReduce
    • Удаление кластера
    • Работа с логами
    • Мониторинг состояния кластера и хостов
  • Концепции
    • Обзор Data Proc
    • Классы хостов
    • Среда исполнения
    • Интерфейсы и порты компонентов Data Proc
    • Задания в Data Proc
    • Автоматическое масштабирование
    • Декомиссия подкластеров и хостов
    • Сеть в Data Proc
    • Техническое обслуживание
    • Квоты и лимиты
    • Свойства компонентов
    • Логи в Data Proc
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ClusterService
      • JobService
      • ResourcePresetService
      • SubclusterService
      • OperationService
    • REST (англ.)
      • Overview
      • Cluster
        • Overview
        • create
        • delete
        • get
        • list
        • listHosts
        • listOperations
        • listUILinks
        • start
        • stop
        • update
      • Job
        • Overview
        • cancel
        • create
        • get
        • list
        • listLog
      • ResourcePreset
        • Overview
        • get
        • list
      • Subcluster
        • Overview
        • create
        • delete
        • get
        • list
        • update
  • История изменений
    • Изменения сервиса
    • Образы
  • Вопросы и ответы
  1. Практические руководства
  2. Работа с заданиями
  3. Использование Apache Hive

Запуск заданий Apache Hive

Статья создана
Yandex.Cloud
  • Запуск задания с помощью CLI Yandex Cloud
  • Запуск задания с помощью Hive CLI

Hive — инструмент доступа к хранилищам данных в экосистеме Hadoop. Позволяет работать с данными в разных форматах и СУБД, используя SQL-подобный язык запросов. Преимущественно используется для работы с данными в HDFS, HBase, S3-совместимых хранилищах и реляционных СУБД.

Вы можете запускать задания Hive как с помощью CLI Yandex Cloud, так и непосредственно на сервере с помощью Hive CLI.

Запуск задания с помощью CLI Yandex Cloud

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

Запуск заданий с помощью CLI Yandex Cloud происходит посредством агента Data Proc, установленного на мастер-хосте кластера. Параметры заданий передаются агенту через Data Proc API.

Исполняемый файл и его зависимости должны находиться в хранилище, к которому есть доступ у сервисного аккаунта кластера Data Proc. У самого запускаемого приложения должен быть доступ к хранилищам, в которых хранятся исходный набор данных и результаты запуска.

Результат расчета сохраняется в бакет Yandex Object Storage вместе с сервисным выводом.

SQL-запрос для Hive можно передать двумя способами:

  • В команде на запуск задачи:

    yc dataproc job create-hive --cluster-id <ID кластера> --name <имя задачи> --query-list "SELECT Month, COUNT(*)  FROM flights GROUP BY Month;"
    
  • В объекте Object Storage, который доступен на чтение сервисному аккаунту кластера Data Proc:

    yc dataproc job create-hive --cluster-id <ID кластера> --name <имя задачи> --query-file-uri "s3a://<ваш бакет>/hive-query.sql"
    

Результат исполнения запросов, а также дополнительную диагностическую информацию можно найти в бакете Object Storage, который был указан при создании кластера: s3://<ваш бакет>/dataproc/clusters/<ID кластера>/jobs/<ID задачи>/.

ID задачи есть в выводе команды запуска задания YC CLI и есть в ответе API на запуск задания.

Запуск задания с помощью Hive CLI

Чтобы запустить командную оболочку (CLI) для Apache Hive, подключитесь к хосту-мастеру по SSH и выполните команду hive.

После этого проверьте работоспособность Hive — выполните команду select 1;. Корректный результат выглядит так:

hive> select 1;
OK
1
Time taken: 0.077 seconds, Fetched: 1 row(s)
  1. Создайте внешнюю таблицу (external table) для данных примера в формате Parquet. Таблица будет содержать список перелетов между городами США в 2018-м году. Выполните следующий запрос с помощью Hive CLI:

    CREATE EXTERNAL TABLE flights (Year bigint, Month bigint, FlightDate string, Flight_Number_Reporting_Airline bigint, OriginAirportID bigint, DestAirportID bigint) STORED AS PARQUET LOCATION 's3a://yc-mdb-examples/dataproc/example01/set01';
    
  2. Проверьте список таблиц:

    show tables;
    
  3. Список таблиц должен выглядеть так:

    OK
    flights
    Time taken: 0.043 seconds, Fetched: 1 row(s)
    
  4. Запросите количество перелетов по месяцам:

    SELECT Month, COUNT(*) FROM flights GROUP BY Month;
    
  5. Пример результата такого запроса:

    Query ID = root_20200119195338_28049b67-4de9-4568-a4c4-3bbe500b78a1
    Total jobs = 1
    Launching Job 1 out of 1
    Status: Running (Executing on YARN cluster with App id application_1579251575762_0013)
    
    ----------------------------------------------------------------------------------------------
            VERTICES      MODE        STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED
    ----------------------------------------------------------------------------------------------
    Map 1 .......... container     SUCCEEDED      6          6        0        0       0       0
    Reducer 2 ...... container     SUCCEEDED      1          1        0        0       0       0
    ----------------------------------------------------------------------------------------------
    VERTICES: 02/02  [==========================>>] 100%  ELAPSED TIME: 11.52 s
    ----------------------------------------------------------------------------------------------
    OK
    1       570118
    2       520731
    3       611987
    4       596046
    5       616529
    6       626193
    7       645299
    8       644673
    9       585749
    10      616101
    11      586178
    12      593842
    Time taken: 12.137 seconds, Fetched: 12 row(s)
    

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Запуск задания с помощью CLI Yandex Cloud
  • Запуск задания с помощью Hive CLI