Не уверен насчет ноутбука, но HDInsight SDK для Python предоставляет классы и методы, которые позволяют вам управлять кластерами HDInsight.Он включает в себя операции по созданию, удалению, обновлению, списку, изменению размера, выполнению действий сценария, мониторингу, получению свойств кластеров HDInsight и т. Д.
Пакет PIP для того же:
pip install azure-mgmt-hdinsight
Сначала SDK необходимо пройти проверку подлинности с подпиской Azure.
Имя для входа:
from azure.mgmt.hdinsight import HDInsightManagementClient
from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.hdinsight.models import *
# Tenant ID for your Azure Subscription
TENANT_ID = ''
# Your Service Principal App Client ID
CLIENT_ID = ''
# Your Service Principal Client Secret
CLIENT_SECRET = ''
# Your Azure Subscription ID
SUBSCRIPTION_ID = ''
credentials = ServicePrincipalCredentials(
client_id = CLIENT_ID,
secret = CLIENT_SECRET,
tenant = TENANT_ID
)
client = HDInsightManagementClient(credentials, SUBSCRIPTION_ID)
HDInsight предоставляет метод конфигурации, называемый действиями сценария, который вызывает пользовательские сценарии для настройки кластера.
script_action1 = RuntimeScriptAction(name="<Script Name>", uri="<URL To Script>", roles=[<List of Roles>]) #valid roles are "headnode", "workernode", "zookeepernode", and "edgenode"
client.clusters.execute_script_actions("<Resource Group Name>", "<Cluster Name>", <persist_on_success (bool)>, script_actions=[script_action1]) #add more RuntimeScriptActions to the list to execute multiple scripts
Чтобы отобразить все сохраненные действия сценария для указанного кластера:
scripts_paged = client.script_actions.list_persisted_scripts(resource_group_name, cluster_name)
while True:
try:
for script in scripts_paged.advance_page():
print(script)
except StopIteration:
break
Проверьте, поможет ли это.