BERLAKU UNTUK:
Ekstensi ml Azure CLI v2 (saat ini)
Dengan Azure Pembelajaran Mesin CLI, kita dapat menggunakan sintaks dan perintah YAML intuitif dari antarmuka baris perintah, untuk melampirkan dan mengelola kumpulan Synapse Spark.
Untuk menentukan kumpulan Synapse Spark terlampir menggunakan sintaks YAML, file YAML harus mencakup properti ini:
name – nama kumpulan Synapse Spark yang terpasang.
type – atur properti ini ke synapsespark.
resource_id – properti ini harus memberikan nilai ID sumber daya kumpulan Synapse Spark yang dibuat di ruang kerja Azure Synapse Analytics. ID sumber daya Azure menyertakan
ID Langganan Azure,
Nama Grup sumber daya,
Nama Ruang Kerja Azure Synapse Analytics, dan
nama Kumpulan Synapse Spark.
name: <ATTACHED_SPARK_POOL_NAME>
type: synapsespark
resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Synapse/workspaces/<SYNAPSE_WORKSPACE_NAME>/bigDataPools/<SPARK_POOL_NAME>
identity – properti ini menentukan jenis identitas yang akan ditetapkan ke kumpulan Synapse Spark yang terlampir. Ini dapat mengambil salah satu nilai ini:
identity Untuk jenis user_assigned, Anda juga harus memberikan daftar user_assigned_identities nilai. Setiap identitas yang ditetapkan pengguna harus dideklarasikan sebagai elemen daftar, dengan menggunakan resource_id nilai identitas yang ditetapkan pengguna. Identitas pertama yang ditetapkan pengguna dalam daftar digunakan untuk mengirimkan pekerjaan secara default.
name: <ATTACHED_SPARK_POOL_NAME>
type: synapsespark
resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Synapse/workspaces/<SYNAPSE_WORKSPACE_NAME>/bigDataPools/<SPARK_POOL_NAME>
identity:
type: user_assigned
user_assigned_identities:
- resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<AML_USER_MANAGED_ID>
File YAML di atas dapat digunakan dalam az ml compute attach perintah sebagai --file parameter . Kumpulan Synapse Spark dapat dilampirkan ke ruang kerja Azure Pembelajaran Mesin, dalam grup sumber daya langganan tertentu, dengan perintah seperti yang az ml compute attach ditunjukkan di sini:
az ml compute attach --file <YAML_SPECIFICATION_FILE_NAME>.yaml --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP> --workspace-name <AML_WORKSPACE_NAME>
Sampel ini menunjukkan output yang diharapkan dari perintah di atas:
Class SynapseSparkCompute: This is an experimental class, and may change at any time. Please visit https://aka.ms/azuremlexperimental for more information.
{
"auto_pause_settings": {
"auto_pause_enabled": true,
"delay_in_minutes": 15
},
"created_on": "2022-09-13 19:01:05.109840+00:00",
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.MachineLearningServices/workspaces/<AML_WORKSPACE_NAME>/computes/<ATTACHED_SPARK_POOL_NAME>",
"location": "eastus2",
"name": "<ATTACHED_SPARK_POOL_NAME>",
"node_count": 5,
"node_family": "MemoryOptimized",
"node_size": "Small",
"provisioning_state": "Succeeded",
"resourceGroup": "<RESOURCE_GROUP>",
"resource_id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Synapse/workspaces/<SYNAPSE_WORKSPACE_NAME>/bigDataPools/<SPARK_POOL_NAME>",
"scale_settings": {
"auto_scale_enabled": false,
"max_node_count": 0,
"min_node_count": 0
},
"spark_version": "3.2",
"type": "synapsespark"
}
Jika kumpulan Synapse Spark yang dilampirkan, dengan nama yang ditentukan dalam file spesifikasi YAML, sudah ada di ruang kerja, maka az ml compute attach eksekusi perintah memperbarui kumpulan yang ada dengan informasi yang disediakan dalam file spesifikasi YAML. Anda dapat memperbarui
- jenis identitas
- identitas yang ditetapkan pengguna
- tag
nilai melalui file spesifikasi YAML.
Untuk menampilkan detail kumpulan Synapse Spark terlampir, jalankan az ml compute show perintah . Berikan nama kumpulan Synapse Spark yang terlampir dengan parameter , seperti yang ditunjukkan --name :
az ml compute show --name <ATTACHED_SPARK_POOL_NAME> --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP> --workspace-name <AML_WORKSPACE_NAME>
Sampel ini menunjukkan output yang diharapkan dari perintah di atas:
<ATTACHED_SPARK_POOL_NAME>
{
"auto_pause_settings": {
"auto_pause_enabled": true,
"delay_in_minutes": 15
},
"created_on": "2022-09-13 19:01:05.109840+00:00",
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.MachineLearningServices/workspaces/<AML_WORKSPACE_NAME>/computes/<ATTACHED_SPARK_POOL_NAME>",
"location": "eastus2",
"name": "<ATTACHED_SPARK_POOL_NAME>",
"node_count": 5,
"node_family": "MemoryOptimized",
"node_size": "Small",
"provisioning_state": "Succeeded",
"resourceGroup": "<RESOURCE_GROUP>",
"resource_id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Synapse/workspaces/<SYNAPSE_WORKSPACE_NAME>/bigDataPools/<SPARK_POOL_NAME>",
"scale_settings": {
"auto_scale_enabled": false,
"max_node_count": 0,
"min_node_count": 0
},
"spark_version": "3.2",
"type": "synapsespark"
}
Untuk melihat daftar semua komputasi, termasuk kumpulan Synapse Spark yang terlampir di ruang kerja, gunakan az ml compute list perintah . Gunakan parameter nama untuk meneruskan nama ruang kerja, seperti yang ditunjukkan:
az ml compute list --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP> --workspace-name <AML_WORKSPACE_NAME>
Sampel ini menunjukkan output yang diharapkan dari perintah di atas:
[
{
"auto_pause_settings": {
"auto_pause_enabled": true,
"delay_in_minutes": 15
},
"created_on": "2022-09-09 21:28:54.871251+00:00",
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.MachineLearningServices/workspaces/<AML_WORKSPACE_NAME>/computes/<ATTACHED_SPARK_POOL_NAME>",
"identity": {
"principal_id": "<PRINCIPAL_ID>",
"tenant_id": "<TENANT_ID>",
"type": "system_assigned"
},
"location": "eastus2",
"name": "<ATTACHED_SPARK_POOL_NAME>",
"node_count": 5,
"node_family": "MemoryOptimized",
"node_size": "Small",
"provisioning_state": "Succeeded",
"resourceGroup": "<RESOURCE_GROUP>",
"resource_id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Synapse/workspaces/<SYNAPSE_WORKSPACE_NAME>/bigDataPools/<SPARK_POOL_NAME>",
"scale_settings": {
"auto_scale_enabled": false,
"max_node_count": 0,
"min_node_count": 0
},
"spark_version": "3.2",
"type": "synapsespark"
},
...
]
BERLAKU UNTUK:
Python SDK azure-ai-ml v2 (saat ini)
Azure Pembelajaran Mesin Python SDK menyediakan fungsi yang nyaman untuk melampirkan dan mengelola kumpulan Synapse Spark, menggunakan kode Python di Azure Pembelajaran Mesin Notebooks.
Untuk melampirkan Synapse Compute menggunakan Python SDK, pertama-tama buat instans kelas azure.ai.ml.MLClient. Ini menyediakan fungsi yang nyaman untuk interaksi dengan layanan Azure Pembelajaran Mesin. Sampel kode berikut menggunakan azure.identity.DefaultAzureCredential untuk menyambungkan ke ruang kerja di grup sumber daya langganan Azure tertentu. Dalam sampel kode berikut, tentukan SynapseSparkCompute dengan parameter ini:
-
name - nama yang ditentukan pengguna dari kumpulan Synapse Spark yang terpasang baru.
-
resource_id - ID sumber daya kumpulan Synapse Spark yang dibuat sebelumnya di ruang kerja Azure Synapse Analytics
Panggilan fungsi azure.ai.ml.MLClient.begin_create_or_update() melampirkan kumpulan Synapse Spark yang ditentukan ke ruang kerja Azure Pembelajaran Mesin.
from azure.ai.ml import MLClient
from azure.ai.ml.entities import SynapseSparkCompute
from azure.identity import DefaultAzureCredential
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace_name = "<AML_WORKSPACE_NAME>"
ml_client = MLClient(
DefaultAzureCredential(), subscription_id, resource_group, workspace_name
)
synapse_name = "<ATTACHED_SPARK_POOL_NAME>"
synapse_resource = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Synapse/workspaces/<SYNAPSE_WORKSPACE_NAME>/bigDataPools/<SPARK_POOL_NAME>"
synapse_comp = SynapseSparkCompute(name=synapse_name, resource_id=synapse_resource)
ml_client.begin_create_or_update(synapse_comp)
Untuk melampirkan kumpulan Synapse Spark yang menggunakan identitas yang ditetapkan sistem, teruskan IdentityConfiguration, dengan jenis diatur ke SystemAssigned, sebagai identity parameter SynapseSparkCompute kelas. Cuplikan kode ini melampirkan kumpulan Synapse Spark yang menggunakan identitas yang ditetapkan sistem:
# import required libraries
from azure.ai.ml import MLClient
from azure.ai.ml.entities import SynapseSparkCompute, IdentityConfiguration
from azure.identity import DefaultAzureCredential
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace_name = "<AML_WORKSPACE_NAME>"
ml_client = MLClient(
DefaultAzureCredential(), subscription_id, resource_group, workspace_name
)
synapse_name = "<ATTACHED_SPARK_POOL_NAME>"
synapse_resource = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Synapse/workspaces/<SYNAPSE_WORKSPACE_NAME>/bigDataPools/<SPARK_POOL_NAME>"
synapse_identity = IdentityConfiguration(type="SystemAssigned")
synapse_comp = SynapseSparkCompute(
name=synapse_name, resource_id=synapse_resource, identity=synapse_identity
)
ml_client.begin_create_or_update(synapse_comp)
Kumpulan Synapse Spark juga dapat menggunakan identitas yang ditetapkan pengguna. Untuk identitas yang ditetapkan pengguna, Anda dapat meneruskan definisi identitas terkelola, menggunakan kelas IdentityConfiguration , sebagai identity parameter SynapseSparkCompute kelas. Untuk definisi identitas terkelola yang digunakan dengan cara ini, atur ke typeUserAssigned. Selain itu, berikan user_assigned_identities parameter. Parameter user_assigned_identities adalah daftar objek kelas UserAssignedIdentity. Identitas resource_id yang ditetapkan pengguna mengisi setiap UserAssignedIdentity objek kelas. Cuplikan kode ini melampirkan kumpulan Synapse Spark yang menggunakan identitas yang ditetapkan pengguna:
# import required libraries
from azure.ai.ml import MLClient
from azure.ai.ml.entities import (
SynapseSparkCompute,
IdentityConfiguration,
UserAssignedIdentity,
)
from azure.identity import DefaultAzureCredential
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace_name = "<AML_WORKSPACE_NAME>"
ml_client = MLClient(
DefaultAzureCredential(), subscription_id, resource_group, workspace_name
)
synapse_name = "<ATTACHED_SPARK_POOL_NAME>"
synapse_resource = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Synapse/workspaces/<SYNAPSE_WORKSPACE_NAME>/bigDataPools/<SPARK_POOL_NAME>"
synapse_identity = IdentityConfiguration(
type="UserAssigned",
user_assigned_identities=[
UserAssignedIdentity(
resource_id="/subscriptions/<SUBSCRIPTION_ID/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<AML_USER_MANAGED_ID>"
)
],
)
synapse_comp = SynapseSparkCompute(
name=synapse_name, resource_id=synapse_resource, identity=synapse_identity
)
ml_client.begin_create_or_update(synapse_comp)
Catatan
Fungsi melampirkan azure.ai.ml.MLClient.begin_create_or_update() kumpulan Synapse Spark baru, jika kumpulan dengan nama yang ditentukan belum ada di ruang kerja. Namun, jika kumpulan Synapse Spark dengan nama yang ditentukan sudah dilampirkan ke ruang kerja, panggilan ke azure.ai.ml.MLClient.begin_create_or_update() fungsi akan memperbarui kumpulan terlampir yang ada dengan identitas atau identitas baru.