Получить HD Insight Cluster по имени кластера по запросу

Я создал кластер по запросу в HD-Insight (с использованием фабрики данных Azure). Поэтому имя кластера: префикс + метка времени. Согласно этой теме нет новых функций для исправления имени кластера.

Я хочу отправить задание Livy в Power Shell в виде сценария в Фабрике данных Azure. Но для этого мне нужно указать имя кластера. Существует ли какая-либо возможность получить текущее имя кластера, чтобы использовать его для отправки задания с помощью Livy.


person jqc    schedule 06.01.2020    source источник


Ответы (2)


Я думаю, что вопрос заключается в том, чтобы получить имя кластера по требованию, чтобы имя кластера можно было передать другим действиям. Я связался с некоторыми внутренними командами, и, по их мнению, в настоящее время это невозможно.

person HimanshuSinha-msft    schedule 13.01.2020
comment
@jqc Вы проверили связанную службу HDinsight? - person Subash; 20.02.2021

Я не уверен, что вы уже получили свое решение, и это для справки для других. Нет необходимости получать имя кластера, вы можете создать конвейер в ADF (со связанной службой HDI по требованию), а затем сохранить свой jar/script в хранилище Azure.

введите здесь описание изображения

введите здесь описание изображения

Вы также можете запустить конвейер с помощью rest-api.

https://management.azure.com/subscriptions/{{sub_id}}/resourceGroups/{{resource_group_name}}/providers/Microsoft.DataFactory/factories/{{factory_name}}/pipelines/{{pipeline_name}}/createRun?api-version=2018-06-01

Или, если вам все еще нужно имя кластера,

Затем вы можете написать собственный Powershell (используя Get-AzHDInsightCluster вместе со строковыми операциями или if-else), чтобы напечатать точное имя кластера (вы можете добавить префикс к кластеру, чтобы его было легко использовать со строковыми операциями). Вы можете автоматизировать это с использованием пользовательской активности в ADF введите здесь описание изображения

Пример команды Powershell

(Get-AzHDInsightCluster|out-string) -split "`n" | select-string <Cluster Name Prefix> 

Или,

 (Get-AzHDInsightCluster|out-string) -split "`n" | select-string -pattern "Name                       :" -caseSensitive
person Subash    schedule 20.02.2021
comment
Ага! Но имя кластера по-прежнему будет иметь метку времени в своем имени. Чего я хочу избежать - person jqc; 20.02.2021
comment
Вам не нужно ничего избегать. Вы можете настроить (использовать подстановочный символ) приведенную выше команду PowerShell, чтобы получить все имена развернутых кластеров из текущей подписки. Я добавил еще одну команду в соответствии с вашими потребностями - person Subash; 21.02.2021
comment
Если это отвечает на ваш вопрос, отметьте его как решение, чтобы оно было полезно другим. - person Subash; 21.02.2021
comment
Привет! Нет, этот ответ не разрешит мои сомнения. Спасибо! - person jqc; 22.02.2021
comment
Чего вы пытаетесь достичь @jqc? - person Subash; 22.02.2021