Клиент Dataproc: googleapiclient: метод для получения списка всех заданий (запущенных, остановленных и т. Д.) В кластере
Мы используем Google Cloud Dataproc для запуска sparkJobs. У нас есть требование получить список всех заданий и их состояний, соответствующих кластеру.
Я могу получить статус работы, если я знаю job_id, как показано ниже
res = dpclient.dataproc.projects().regions().jobs().get(
projectId=project,
region=region,
jobId="ab4f5d05-e890-4ff5-96ef-017df2b5c0bc").execute()
Но что, если я не знаю job_id и хочу знать статус всех вакансий
1 ответ
Чтобы вывести список работ в кластере, вы можете использовать list()
метод:
clusterName = 'cluster-1'
res = dpclient.dataproc.projects().regions().jobs().list(
projectId=project,
region=region,
clusterName=clusterName).execute()
Однако обратите внимание, что в настоящее время поддерживается только перечисление по кластерам, которые все еще существуют; даже если вы проходите в clusterName
, это решено уникальным cluster_uuid
под капотом; это также означает, что если вы создаете несколько кластеров с одним и тем же именем, каждое воплощение по-прежнему считается отдельным кластером, поэтому список заданий выполняется только для текущей запущенной версии clusterName. Это по замыслу, так как clusterName
часто используется людьми для разных целей (особенно, если используются сгенерированные по умолчанию имена, созданные в cloud.google.com/console), и логически задания, представленные в разные фактические экземпляры кластера, могут не быть связаны друг с другом.
В будущем будет больше вариантов фильтров для списков вакансий.