Azure Synapse Analytics ve Azure Machine Learning çalışma alanlarını bağlama ve Apache Spark havuzları ekleme (kullanım dışı)
ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1
Uyarı
Python SDK v1'de kullanılabilen Azure Machine Learning ile Azure Synapse Analytics tümleştirmesi kullanım dışıdır. Kullanıcılar, Azure Machine Learning'e kayıtlı Synapse çalışma alanını bağlı hizmet olarak kullanmaya devam edebilir. Öte yandan artık yeni Synapse çalışma alanları Azure Machine Learning'e bağlı hizmet olarak kaydedilemez. CLI v2 ve Python SDK v2'de kullanılabilen sunucusuz Spark işlem ve bağlı Synapse Spark havuzları kullanmanızı öneririz. Daha fazla bilgi için https://aka.ms/aml-spark adresini ziyaret edin.
Bu makalede, Azure Synapse Analytics çalışma alanınızla Azure Machine Learning çalışma alanınızı bağlayan bağlı bir hizmet oluşturmayı öğreneceksiniz.
Azure Synapse çalışma alanıyla bağlantılı bir Azure Machine Learning çalışma alanıyla, Ayrılmış işlem kaynağı olarak Azure Synapse Analytics tarafından desteklenen bir Apache Spark havuzu ekleyebilirsiniz. Bu kaynağı büyük ölçekte veri düzenleme için kullanabilir veya model eğitimi gerçekleştirebilirsiniz. Bunların tümü aynı Python not defterinden yapılır.
ML çalışma alanınızı ve Synapse çalışma alanınızı Python SDK'sı veya Azure Machine Learning stüdyosu bağlayabilirsiniz. Ayrıca tek bir Azure Resource Manager (ARM) şablonuyla çalışma alanlarını bağlayabilir ve Synapse Spark havuzu ekleyebilirsiniz.
Önkoşullar
Azure Machine Learning Python SDK'sını yükleme
Azure portalını, web araçlarını veya Synapse Studio'yu kullanarak Apache Spark havuzu oluşturma
Python SDK'sı ile çalışma alanlarını bağlama
Önemli
Synapse çalışma alanına başarıyla bağlanmak için Synapse çalışma alanının Sahip rolüne sahip olmanız gerekir. Azure portalda erişiminizi denetleyin.
Yalnızca Synapse çalışma alanına katkıda bulunansanız ve bu Synapse çalışma alanı için Sahip'inizyoksa, yalnızca mevcut bağlı hizmetleri kullanabilirsiniz. Daha fazla bilgi için Mevcut bağlı hizmeti alma ve kullanma adresini ziyaret edin.
Bu kod, ve SynapseWorkspaceLinkedServiceConfiguration
sınıflarını LinkedService
- Makine öğrenmesi çalışma alanınızı Azure Synapse çalışma
ws
alanınızla bağlama - Synapse çalışma alanınızı Azure Machine Learning'e bağlı hizmet olarak kaydetme
import datetime
from azureml.core import Workspace, LinkedService, SynapseWorkspaceLinkedServiceConfiguration
# Azure Machine Learning workspace
ws = Workspace.from_config()
#link configuration
synapse_link_config = SynapseWorkspaceLinkedServiceConfiguration(
subscription_id=ws.subscription_id,
resource_group= 'your resource group',
name='mySynapseWorkspaceName')
# Link workspaces and register Synapse workspace in Azure Machine Learning
linked_service = LinkedService.register(workspace = ws,
name = 'synapselink1',
linked_service_config = synapse_link_config)
Önemli
Her bağlı hizmet için yönetilen kimlik system_assigned_identity_principal_id
oluşturulur. Synapse oturumunuzu başlatmadan önce bu yönetilen kimliğe Synapse çalışma alanının Synapse Apache Spark Yönetici istrator rolünü vermelisiniz. Daha fazla bilgi için Synapse Studio'da Azure Synapse RBAC atamalarını yönetme makalesini ziyaret edin.
Belirli bir bağlı hizmetin öğesini system_assigned_identity_principal_id
bulmak için kullanın LinkedService.get('<your-mlworkspace-name>', '<linked-service-name>')
.
Bağlı hizmetleri yönetme
Makine öğrenmesi çalışma alanınızla ilişkili tüm bağlı hizmetleri görüntüleyin:
LinkedService.list(ws)
Çalışma alanlarınızın bağlantısını çözmek için yöntemini unregister()
kullanın:
linked_service.unregister()
Çalışma alanlarını stüdyo aracılığıyla bağlama
Makine öğrenmesi çalışma alanınızı ve Synapse çalışma alanınızı Azure Machine Learning stüdyosu bağlayın:
Azure Machine Learning stüdyosu oturum açın
Sol bölmenin Yönet bölümünde Bağlı Hizmetler'i seçin
Tümleştirme ekle'yi seçin
Çalışma alanını bağla formunda alanları doldurun
Alan Veri Akışı Açıklaması Ad Bağlı hizmetiniz için bir ad belirtin. Bu belirli bağlı hizmete yapılan başvurular bu adı kullanır Abonelik adı Makine öğrenmesi çalışma alanınızla ilişkili aboneliğinizin adını seçin Synapse çalışma alanı Bağlamak istediğiniz Synapse çalışma alanını seçin Spark havuzlarını seçin (isteğe bağlı) formunu açmak için İleri'yi seçin. Bu formda, çalışma alanınıza eklenecek Synapse Spark havuzunu seçersiniz
gözden geçirme formunu açmak için İleri'yi seçin ve seçimlerinizi denetleyin
Bağlantılı hizmet oluşturma işlemini tamamlamak için Oluştur'u seçin
Mevcut bir bağlı hizmeti alma
Veri düzenleme için ayrılmış bir işlem ekleyebilmeniz için önce Azure Synapse Analytics çalışma alanına bağlı bir makine öğrenmesi çalışma alanınız olmalıdır. Bu çalışma alanını bağlı hizmet olarak adlandırıyoruz. Mevcut bir bağlı hizmetin alınması ve kullanılması için Azure Synapse Analytics çalışma alanında Kullanıcı veya Katkıda Bulunan izinleri gerekir.
Bu örnek, çalışma alanından ws
yöntemiyle get()
var olan bir bağlı hizmeti synapselink1
alır:
from azureml.core import LinkedService
linked_service = LinkedService.get(ws, 'synapselink1')
Synapse Spark havuzunu işlem olarak ekleme
Bağlı hizmeti aldıktan sonra, verilerinizi düzenleme görevleriniz için ayrılmış bir işlem kaynağı olarak bir Synapse Apache Spark havuzu ekleyin. Ile Apache Spark havuzları ekleyebilirsiniz
- Azure Machine Learning Studio
- Azure Resource Manager (ARM) şablonları
- Azure Machine Learning Python SDK'sı
Stüdyo aracılığıyla havuz ekleme
- Azure Machine Learning stüdyosu oturum açın
- Sol bölmenin Yönet bölümünde Bağlı Hizmetler'i seçin
- Synapse çalışma alanınızı seçin
- Sol üst kısımdaki Ekli Spark havuzları'nı seçin
- Ekle'yi seçin
- Listeden Apache Spark havuzunuzu seçin ve bir ad verin
- Bu liste, işleminize eklenebilen kullanılabilir Synapse Spark havuzlarını tanımlar
- Yeni bir Synapse Spark havuzu oluşturmak için bkz . Hızlı Başlangıç: Azure portalını kullanarak yeni sunucusuz Apache Spark havuzu oluşturma
- Seçili Ekle'yi seçin
Python SDK'sı ile havuz ekleme
Bu kod örneğinde gösterildiği gibi Apache Spark havuzu eklemek için Python SDK'sını da kullanabilirsiniz:
from azureml.core.compute import SynapseCompute, ComputeTarget
attach_config = SynapseCompute.attach_configuration(linked_service, #Linked synapse workspace alias
type='SynapseSpark', #Type of assets to attach
pool_name=synapse_spark_pool_name) #Name of Synapse spark pool
synapse_compute = ComputeTarget.attach(workspace= ws,
name= synapse_compute_name,
attach_configuration= attach_config
)
synapse_compute.wait_for_completion()
Apache Spark havuzunun bağlı olduğunu doğrulayın.
ws.compute_targets['Synapse Spark pool alias']
Bu kod
ile yapılandırılır
SynapseCompute
LinkedService
Önceki adımda oluşturduğunuz veya aldığınız .linked_service
- Eklemek istediğiniz işlem hedefinin türü - bu durumda,
SynapseSpark
- Apache Spark havuzunun adı. Ad, Azure Synapse Analytics çalışma alanınızda bulunan mevcut bir Apache Spark havuzuyla eşleşmelidir
Geçiş yaparak makine öğrenmesi
ComputeTarget
oluşturur- Kullanmak istediğiniz makine öğrenmesi çalışma alanı,
ws
- Azure Machine Learning çalışma alanı içindeki işlem için kullanmak istediğiniz ad
- Synapse İşleminizi yapılandırırken belirttiğiniz attach_configuration
- ComputeTarget.attach() çağrısı zaman uyumsuz olduğundan, çağrı tamamlanana kadar örnek yürütme engellenir
- Kullanmak istediğiniz makine öğrenmesi çalışma alanı,