Aracılığıyla paylaş


Azure Data Factory ile veri alımı

Bu makalede, Azure Data Factory ile veri alımı işlem hattı oluşturmaya yönelik kullanılabilir seçenekler hakkında bilgi edinacaksınız. Bu Azure Data Factory işlem hattı, Azure Machine Learning ile kullanılmak üzere verileri almak için kullanılır. Data Factory, verileri kolayca ayıklamanıza, dönüştürmenize ve yüklemenize (ETL) olanak tanır. Veriler dönüştürüldükten ve depolama alanına yüklendikten sonra Azure Machine Learning'de makine öğrenmesi modellerinizi eğitmek için kullanılabilir.

Basit veri dönüştürme, yerel Data Factory etkinlikleri ve veri akışı gibi araçlarla işlenebilir. Daha karmaşık senaryolar söz konusu olduğunda, veriler bazı özel kodlarla işlenebilir. Örneğin Python veya R kodu.

Azure Data Factory veri alımı işlem hatlarını karşılaştırma

Veri alımı sırasında verileri dönüştürmek için Data Factory kullanmanın birçok yaygın tekniği vardır. Her tekniğin belirli bir kullanım örneğine uygun olup olmadığını belirlemeye yardımcı olan avantajları ve dezavantajları vardır:

Teknik Avantajlar Dezavantajlar
Data Factory + Azure İşlevleri
  • Düşük gecikme süresi, sunucusuz işlem
  • Durum bilgisi olan işlevler
  • Yeniden kullanılabilir işlevler
  • Yalnızca kısa süreli işleme için iyidir
    Data Factory + özel bileşen
  • Büyük ölçekli paralel bilgi işlem
  • Ağır algoritmalar için uygundur
  • Kodu yürütülebilir dosyaya sarmalama gerektirir
  • Bağımlılıkları ve GÇ'leri işlemenin karmaşıklığı
  • Data Factory + Azure Databricks not defteri
  • Apache Spark
  • Yerel Python ortamı
  • Pahalı olabilir
  • Kümeleri oluşturmak başlangıçta zaman alır ve gecikme süresi ekler
  • Azure işlevleriyle Azure Data Factory

    Azure İşlevleri, uygulama altyapısı konusunda endişelenmeden küçük kod parçaları (işlevler) çalıştırmanıza olanak tanır. Bu seçenekte veriler, azure işlevine sarmalanmış özel Python koduyla işlenir.

    İşlev, Azure Data Factory Azure İşlevi etkinliğiyle çağrılır. Bu yaklaşım, basit veri dönüşümleri için iyi bir seçenektir.

    Diagram shows an Azure Data Factory pipeline, with Azure Function and Run ML Pipeline, and an Azure Machine Learning pipeline, with Train Model, and how they interact with raw data and prepared data.

    • Avantaj -ları:
    • Dezavantaj -ları:
      • ADF ile kullanılmadan önce Azure İşlevleri oluşturulmalıdır
      • Azure İşlevleri yalnızca kısa süreli veri işleme için iyidir

    Özel Bileşenli Azure Data Factory etkinliği

    Bu seçenekte veriler yürütülebilir dosyaya sarmalanmış özel Python koduyla işlenir. Azure Data Factory Özel Bileşen etkinliğiyle çağrılır. Bu yaklaşım, büyük veriler için önceki teknikten daha uygundur.

    Diagram shows an Azure Data Factory pipeline, with a custom component and Run M L Pipeline, and an Azure Machine Learning pipeline, with Train Model, and how they interact with raw data and prepared data.

    • Avantaj -ları:
      • Veriler, büyük ölçekli paralel ve yüksek performanslı bilgi işlem sağlayan Azure Batch havuzunda işlenir
      • Yoğun algoritmalar çalıştırmak ve önemli miktarda veriyi işlemek için kullanılabilir
    • Dezavantaj -ları:
      • Data Factory ile kullanılmadan önce Azure Batch havuzu oluşturulmalıdır
      • Python kodunu yürütülebilir dosyaya sarmalamayla ilgili mühendislik üzerinde. Bağımlılıkları ve giriş/çıkış parametrelerini işlemenin karmaşıklığı

    Azure Databricks Python not defteri ile Azure Data Factory

    Azure Databricks , Microsoft bulutunda Apache Spark tabanlı bir analiz platformudur.

    Bu teknikte veri dönüştürme işlemi, Azure Databricks kümesinde çalışan bir Python not defteri tarafından gerçekleştirilir. Bu muhtemelen Azure Databricks hizmetinin tüm gücünü kullanan en yaygın yaklaşımdır. Büyük ölçekte dağıtılmış veri işleme için tasarlanmıştır.

    Diagram shows an Azure Data Factory pipeline, with Azure Databricks Python and Run M L Pipeline, and an Azure Machine Learning pipeline, with Train Model, and how they interact with raw data and prepared data.

    • Avantaj -ları:
      • Veriler, Apache Spark ortamı tarafından yedeklenen en güçlü veri işleme Azure hizmetinde dönüştürülür
      • TensorFlow, PyTorch ve scikit-learn gibi veri bilimi çerçeveleri ve kitaplıklarıyla birlikte Python'a yerel destek
      • Python kodunu işlevlere veya yürütülebilir modüllere sarmalamanız gerekmez. Kod olduğu gibi çalışır.
    • Dezavantaj -ları:
      • Data Factory ile kullanılmadan önce Azure Databricks altyapısı oluşturulmalıdır
      • Azure Databricks yapılandırmasına bağlı olarak pahalı olabilir
      • İşlem kümelerini "soğuk" moddan döndürmek, çözüme yüksek gecikme süresi getiren biraz zaman alır

    Azure Machine Learning'de veri kullanma

    Data Factory işlem hattı, hazırlanan verileri bulut depolama alanınıza (Azure Blob veya Azure Data Lake gibi) kaydeder.
    Azure Machine Learning'de hazırladığınız verileri şu şekilde tüketin:

    Data Factory'den Azure Machine Learning işlem hattını çağırma

    Bu yöntem Machine Learning İşlemleri (MLOps) iş akışları için önerilir. Azure Machine Learning işlem hattı ayarlamak istemiyorsanız bkz . Verileri doğrudan depolama alanından okuma.

    Data Factory işlem hattı her çalıştığında,

    1. Veriler depolama alanında farklı bir konuma kaydedilir.
    2. Konumu Azure Machine Learning'e geçirmek için Data Factory işlem hattı bir Azure Machine Learning işlem hattını çağırır. ML işlem hattı çağrılırken, veri konumu ve iş kimliği parametre olarak gönderilir.
    3. ML işlem hattı daha sonra veri konumuyla bir Azure Machine Learning veri deposu ve veri kümesi oluşturabilir. Data Factory'de Azure Machine Learning işlem hatlarını yürütme bölümünde daha fazla bilgi edinin.

    Diagram shows an Azure Data Factory pipeline and an Azure Machine Learning pipeline and how they interact with raw data and prepared data. The Data Factory pipeline feeds data to the Prepared Data database, which feeds a data store, which feeds datasets in the Machine Learning workspace.

    Bahşiş

    Veri kümeleri sürüm oluşturmayı desteklediğinden ML işlem hattı, veri kümesinin ADF işlem hattındaki en son verilere işaret eden yeni bir sürümünü kaydedebilir.

    Verilere bir veri deposu veya veri kümesi aracılığıyla erişilebildiğinde, ml modelini eğitmek için bu verileri kullanabilirsiniz. Eğitim işlemi, ADF'den çağrılan ml işlem hattının bir parçası olabilir. Ya da Jupyter not defterindeki denemeler gibi ayrı bir işlem olabilir.

    Veri kümeleri sürüm oluşturmayı desteklediğinden ve işlem hattındaki her iş yeni bir sürüm oluşturduğundan, modeli eğitmek için verilerin hangi sürümünün kullanıldığını anlamak kolaydır.

    Verileri doğrudan depolama alanından okuma

    ML işlem hattı oluşturmak istemiyorsanız, hazır verilerinizin bir Azure Machine Learning veri deposu ve veri kümesiyle kaydedildiği depolama hesabından verilere doğrudan erişebilirsiniz.

    Aşağıdaki Python kodu, Azure DataLake 2. Nesil depolamaya bağlanan bir veri deposunun nasıl oluşturulacağını gösterir. Veri depoları ve hizmet sorumlusu izinlerinin nerede bulunacağı hakkında daha fazla bilgi edinin.

    ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

    ws = Workspace.from_config()
    adlsgen2_datastore_name = '<ADLS gen2 storage account alias>'  #set ADLS Gen2 storage account alias in Azure Machine Learning
    
    subscription_id=os.getenv("ADL_SUBSCRIPTION", "<ADLS account subscription ID>") # subscription id of ADLS account
    resource_group=os.getenv("ADL_RESOURCE_GROUP", "<ADLS account resource group>") # resource group of ADLS account
    
    account_name=os.getenv("ADLSGEN2_ACCOUNTNAME", "<ADLS account name>") # ADLS Gen2 account name
    tenant_id=os.getenv("ADLSGEN2_TENANT", "<tenant id of service principal>") # tenant id of service principal
    client_id=os.getenv("ADLSGEN2_CLIENTID", "<client id of service principal>") # client id of service principal
    client_secret=os.getenv("ADLSGEN2_CLIENT_SECRET", "<secret of service principal>") # the secret of service principal
    
    adlsgen2_datastore = Datastore.register_azure_data_lake_gen2(
        workspace=ws,
        datastore_name=adlsgen2_datastore_name,
        account_name=account_name, # ADLS Gen2 account name
        filesystem='<filesystem name>', # ADLS Gen2 filesystem
        tenant_id=tenant_id, # tenant id of service principal
        client_id=client_id, # client id of service principal
    

    Ardından, makine öğrenmesi görevinizde kullanmak istediğiniz dosyalara başvurmak için bir veri kümesi oluşturun.

    Aşağıdaki kod, prepared-data.csvcsv dosyasından bir TabularDataset oluşturur. Veri kümesi türleri ve kabul edilen dosya biçimleri hakkında daha fazla bilgi edinin.

    ŞUNUN IÇIN GEÇERLIDIR:Python SDK azureml v1

    from azureml.core import Workspace, Datastore, Dataset
    from azureml.core.experiment import Experiment
    from azureml.train.automl import AutoMLConfig
    
    # retrieve data via Azure Machine Learning datastore
    datastore = Datastore.get(ws, adlsgen2_datastore)
    datastore_path = [(datastore, '/data/prepared-data.csv')]
            
    prepared_dataset = Dataset.Tabular.from_delimited_files(path=datastore_path)
    

    Buradan, eğitim betiklerinizdeki gibi hazırlanmış verilerinize başvurmak için kullanın prepared_dataset . Azure Machine Learning'de veri kümeleriyle modelleri eğitmeyi öğrenin.

    Sonraki adımlar