Share via


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

Ö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()

Makine öğrenmesi çalışma alanınızı ve Synapse çalışma alanınızı Azure Machine Learning stüdyosu bağlayın:

  1. Azure Machine Learning stüdyosu oturum açın

  2. Sol bölmenin Yönet bölümünde Bağlı Hizmetler'i seçin

  3. Tümleştirme ekle'yi seçin

  4. Ç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
  5. 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

  6. gözden geçirme formunu açmak için İleri'yi seçin ve seçimlerinizi denetleyin

  7. 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 wsyö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

Stüdyo aracılığıyla havuz ekleme

  1. Azure Machine Learning stüdyosu oturum açın
  2. Sol bölmenin Yönet bölümünde Bağlı Hizmetler'i seçin
  3. Synapse çalışma alanınızı seçin
  4. Sol üst kısımdaki Ekli Spark havuzları'nı seçin
  5. Ekle'yi seçin
  6. Listeden Apache Spark havuzunuzu seçin ve bir ad verin
    1. Bu liste, işleminize eklenebilen kullanılabilir Synapse Spark havuzlarını tanımlar
    2. 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
  7. 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

  1. ile yapılandırılır SynapseCompute

    1. LinkedServiceÖnceki adımda oluşturduğunuz veya aldığınız . linked_service
    2. Eklemek istediğiniz işlem hedefinin türü - bu durumda, SynapseSpark
    3. Apache Spark havuzunun adı. Ad, Azure Synapse Analytics çalışma alanınızda bulunan mevcut bir Apache Spark havuzuyla eşleşmelidir
  2. Geçiş yaparak makine öğrenmesi ComputeTarget oluşturur

    1. Kullanmak istediğiniz makine öğrenmesi çalışma alanı, ws
    2. Azure Machine Learning çalışma alanı içindeki işlem için kullanmak istediğiniz ad
    3. Synapse İşleminizi yapılandırırken belirttiğiniz attach_configuration
      1. ComputeTarget.attach() çağrısı zaman uyumsuz olduğundan, çağrı tamamlanana kadar örnek yürütme engellenir

Sonraki adımlar