Управление заданиями Hive
В кластере Yandex Data Processing можно управлять заданиями (jobs), а также получать логи их выполнения. Примеры заданий см. в разделе Работа с заданиями.
Создать задание
-
Перейдите на страницу каталога
и выберите сервис Yandex Data Processing. -
Нажмите на имя нужного кластера и выберите вкладку Задания.
-
Нажмите кнопку Создать задание.
-
(Опционально) Укажите имя задания.
-
В поле Тип задания выберите
Hive
. -
(Опционально) В поле Настройки укажите свойства компонентов в виде пары
ключ-значение
.Если аргумент, переменная или свойство состоит из нескольких частей, разделенных пробелом, указывайте каждую часть отдельно. При этом важно сохранить порядок объявления аргументов, переменных и свойств.
Например, аргумент
-mapper mapper.py
должен быть преобразован в два аргумента-mapper
иmapper.py
, стоящих последовательно. -
(Опционально) Включите настройку Продолжать при ошибке.
-
Укажите Переменные скрипта в виде пары
ключ-значение
. -
(Опционально) Укажите пути к JAR-файлам, если они используются:
Размещение файла Формат пути Файловая система инстанса file:///<путь_к_файлу>
Распределенная файловая система кластера hdfs:///<путь_к_файлу>
Бакет Object Storage s3a://<имя_бакета>/<путь_к_файлу>
Интернет http://<путь_к_файлу>
илиhttps://<путь_к_файлу>
Допускается использование архивов стандартных для Linux форматов:
zip
,gz
,xz
,bz2
и т. д.Сервисному аккаунту кластера необходим доступ на чтение ко всем файлам в бакете. Пошаговые инструкции по настройке доступа к Object Storage приведены в разделе Редактирование ACL бакета.
-
Выберите один из типов драйвера и укажите, что использовать для запуска задания:
- список запросов, которые необходимо выполнить;
- путь к файлу с запросами, которые нужно выполнить.
-
Нажмите кнопку Создать задание.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать задание:
-
Посмотрите описание команды CLI для создания заданий типа
Hive
:yc dataproc job create-hive --help
-
Создайте задание (в примере приведены не все доступные параметры):
yc dataproc job create-hive \ --cluster-name=<имя_кластера> \ --name=<имя_задания> \ --query-file-uri=<URI_файла_запроса> \ --script-variables=<список_значений>
Где
--script-variables
— список значений переменных, разделенных запятыми.Пути к необходимым для выполнения задания файлам передавайте в формате:
Размещение файла Формат пути Файловая система инстанса file:///<путь_к_файлу>
Распределенная файловая система кластера hdfs:///<путь_к_файлу>
Бакет Object Storage s3a://<имя_бакета>/<путь_к_файлу>
Интернет http://<путь_к_файлу>
илиhttps://<путь_к_файлу>
Допускается использование архивов стандартных для Linux форматов:
zip
,gz
,xz
,bz2
и т. д.Сервисному аккаунту кластера необходим доступ на чтение ко всем файлам в бакете. Пошаговые инструкции по настройке доступа к Object Storage приведены в разделе Редактирование ACL бакета.
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API create и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Его можно получить со списком кластеров в каталоге. - Имя задания в параметре
name
. - Свойства задания в параметре
hiveJob
.
Отменить задание
Примечание
Задания в статусах ERROR
, DONE
или CANCELLED
отменить нельзя. Чтобы узнать статус задания, получите список заданий в кластере.
- Перейдите на страницу каталога
и выберите сервис Yandex Data Processing. - Нажмите на имя нужного кластера и выберите вкладку Задания.
- Нажмите на имя нужного задания.
- В правом верхнем углу страницы нажмите кнопку Отменить.
- В открывшемся окне выберите Отменить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы отменить задание, выполните команду:
yc dataproc job cancel <имя_или_идентификатор_задания> \
--cluster-name=<имя_кластера>
Идентификатор и имя задания можно получить со списком заданий в кластере, имя кластера — со списком кластеров в каталоге.
Воспользуйтесь методом API cancel и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. - Идентификатор задания в параметре
jobId
.
Идентификатор кластера можно получить со списком кластеров в каталоге, идентификатор задания — со списком заданий в кластере.
Получить список заданий
- Перейдите на страницу каталога
и выберите сервис Yandex Data Processing. - Нажмите на имя нужного кластера и выберите вкладку Задания.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список заданий, выполните команду:
yc dataproc job list --cluster-name=<имя_кластера>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API list и передайте в запросе идентификатор кластера в параметре clusterId
.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Получить общую информацию о задании
- Перейдите на страницу каталога
и выберите сервис Yandex Data Processing. - Нажмите на имя нужного кластера и выберите вкладку Задания.
- Нажмите на имя нужного задания.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Для получения общей информации о задании выполните команду:
yc dataproc job get \
--cluster-name=<имя_кластера> \
--name=<имя_задания>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API get и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Его можно получить со списком кластеров в каталоге - Идентификатор задания в параметре
jobId
. Его можно получить со списком заданий в кластере.
Получить логи выполнения задания
Примечание
Вы можете просматривать логи выполнения заданий и искать в них информацию с помощью сервиса Yandex Cloud Logging. Подробнее см. в разделе Работа с логами.
- Перейдите на страницу каталога
и выберите сервис Yandex Data Processing. - Нажмите на имя нужного кластера и выберите вкладку Задания.
- Нажмите на имя нужного задания.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить логи выполнения задания, выполните команду:
yc dataproc job log \
--cluster-name=<имя_кластера> \
--name=<имя_задания>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API listLog и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Его можно получить со списком кластеров в каталоге. - Идентификатор задания в параметре
jobId
. Его можно получить со списком заданий в кластере.