Облачная платформаEvolution

Работа с Hive Metastore 4.1 с помощью задачи Managed Spark


С помощью этого руководства научитесь создавать задачу Managed Spark для выполнения операций в Hive Metastore версии 4.1.

Вы будете использовать следующие сервисы:

  • Managed Spark — сервис, который позволяет развернуть кластерное вычислительное решение на основе Apache Spark для распределенной обработки данных.

  • Managed Metastore — сервис для хранения и управления метаданными из разных источников.

Шаги:

  1. Подготовьте скрипт задачи.

  2. Подготовьте необходимые зависимости.

  3. Создайте задачу Managed Spark.

  4. Проверьте результат.

Перед началом работы

Располагайте создаваемые сущности в одной VPC и используйте единые сетевые параметры.

  1. Зарегистрируйтесь в личном кабинете Cloud.ru.

    Если вы уже зарегистрированы, войдите под своей учетной записью.

  2. Настройте DNS-сервер и подсеть.

  3. Создайте бакет Object Storage, в котором будут храниться необходимые файлы.

  4. Создайте инстанс Hive Metastore. В блоке Конфигурация выберите версию Managed Metastore 0.2.1 (4.1).

  5. Создайте инстанс Managed Spark. В блоке Настройки в качестве места сохранения укажите созданный ранее бакет Object Storage.

  6. Получите базовый образ Spark 4.1.1., отправив запрос в техподдержку.

1. Подготовьте скрипт задачи

На этом шаге вы загрузите скрипт задачи в бакет Object Storage.

  1. Скачайте файл spark_metastore_v4.py.

  2. Загрузите файл в созданный ранее бакет Object Storage.

2. Подготовьте необходимые зависимости

На этом шаге вы загрузите в бакет Object Storage jar-файлы с зависимостями.

  1. Скачайте файлы:

  2. В ранее созданном бакете Object Storage создайте папку jar-files.

  3. Загрузите скачанные файлы в папку jar-files.

3. Создайте задачу Managed Spark

На этом шаге вы создадите задачу Managed Spark с использованием подготовленного скрипта.

Для продолжения работы убедитесь, что статус инстанса Managed Spark изменился на «Готов».

  1. Перейдите в сервис Managed Spark.

  2. Откройте созданный ранее инстанс.

  3. Перейдите на вкладку Задачи.

  4. Нажмите Создать задачу.

  5. В блоке Общие параметры введите название задачи, например spark-job-metastore-4.

  6. В блоке Образ выберите базовый образ Spark-4.1.1.

  7. В блоке Скрипт приложения:

    • в поле Тип запускаемой задачи выберите Python;

    • в поле Путь к запускаемому файлу укажите путь к файлу spark_metastore_v4.py.

  8. В блоке Настройки активируйте опцию Добавить параметры окружения.

  9. Добавьте следующие параметры и их значения:

    Параметр

    Значение

    METASTORE_URI

    Значение Thrift URL из карточки созданного ранее инстанса Managed Metastore.

    WAREHOUSE_DIR

    Путь до warehouse из карточки созданного ранее инстанса Managed Metastore.

  10. В блоке Настройки активируйте опцию Добавить Spark конфигурацию (–conf).

  11. Добавьте следующие аргументы и их значения:

    Аргумент

    Значение

    spark.sql.hive.metastore.jars

    path

    spark.sql.hive.metastore.version

    4.1.0

    spark.sql.hive.metastore.jars.path

    file:///opt/spark/work-dir/*

  12. В блоке Настройки активируйте опцию Добавить зависимости.

  13. В поле JAR (–jars) введите s3a://<bucket-name>/jar-files/*, где <bucket-name> — название используемого бакета Object Storage.

  14. Нажмите Создать.

4. Проверьте результат

На этом шаге вы проверите логи задачи Managed Spark и убедитесь, что действия в Managed Metastore были успешно произведены.

Для продолжения работы убедитесь, что статус задачи Managed Spark изменился на «Завершена».

  1. В строке задачи нажмите Горизонтальное меню и выберите Перейти к логам.

    В логах задачи отобразятся сообщения об успешных действиях в Managed Metastore.

  2. Перейдите в бакет Object Storage.

    В нем появится папка table_ready с файлами, созданными в ходе выполнения задачи.

  3. Перейдите в инстанс Hive Metastore.

  4. Откройте вкладку Мониторинг.

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

Результат

Вы создали задачу Managed Spark, скрипт которой выполнил операции в Hive Metastore.