Öğretici: Batch Gezgini, Depolama Gezgini ve Python ile Data Factory aracılığıyla Batch işi çalıştırma

Bu öğretici, Azure Batch iş yükü çalıştıran bir Azure Data Factory işlem hattı oluşturma ve çalıştırma konusunda size yol gösterir. Python betiği, bir Azure Blob Depolama kapsayıcısından virgülle ayrılmış değer (CSV) girişi almak, verileri işlemek ve çıkışı farklı bir depolama kapsayıcısına yazmak için Batch düğümlerinde çalışır. Batch Havuzu ve düğümleri oluşturmak için Batch Gezgini'ni kullanır ve depolama kapsayıcıları ve dosyalarıyla çalışmak için Azure Depolama Gezgini.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Batch havuzu ve düğümleri oluşturmak için Batch Gezgini'ni kullanın.
  • Depolama kapsayıcıları oluşturmak ve giriş dosyalarını karşıya yüklemek için Depolama Gezgini'ni kullanın.
  • Giriş verilerini işlemek ve çıkış üretmek için bir Python betiği geliştirin.
  • Batch iş yükünü çalıştıran bir Data Factory işlem hattı oluşturun.
  • Çıktı günlük dosyalarına bakmak için Batch Gezgini'ni kullanın.

Önkoşullar

Batch havuzu ve düğümleri oluşturmak için Batch Gezgini'ni kullanma

İş yükünüzü çalıştırmak üzere işlem düğümleri havuzu oluşturmak için Batch Explorer'ı kullanın.

  1. Azure kimlik bilgilerinizle Batch Explorer'da oturum açın.

  2. Batch hesabınızı seçin.

  3. Sol kenar çubuğunda Havuzlar'ı seçin ve ardından simgeyi + seçerek havuz ekleyin.

    Screenshot of creating a pool in Batch Explorer.

  4. Hesap formuna havuz ekle formunu şu şekilde doldurun:

    • Kimlik bölümüne custom-activity-pool girin.
    • Ayrılmış düğümler'in altına 2 girin.
    • İşletim sistemi yapılandırması seçin alanında Veri bilimi sekmesini ve ardından Dsvm Win 2019'ı seçin.
    • Sanal makine boyutu seçin için Standard_F2s_v2 seçin.
    • Görevi Başlat için Başlangıç görevi ekle'yi seçin. Başlangıç görevi ekranında, Komut satırı'nın altında yazın cmd /c "pip install azure-storage-blob pandas"ve Seç'i seçin. Bu komut, her düğüm başlatılırken paketi yükler azure-storage-blob .
  5. Kaydet ve kapat'ı seçin.

Blob kapsayıcıları oluşturmak için Depolama Gezgini'ni kullanma

Giriş ve çıkış dosyalarını depolamak üzere blob kapsayıcıları oluşturmak için Depolama Gezgini'ni kullanın ve ardından giriş dosyalarınızı karşıya yükleyin.

  1. Azure kimlik bilgilerinizle Depolama Gezgini'nde oturum açın.
  2. Sol kenar çubuğunda Batch hesabınıza bağlı depolama hesabını bulun ve genişletin.
  3. Blob Kapsayıcıları'na sağ tıklayın ve Blob Kapsayıcısı Oluştur'u seçin veya kenar çubuğunun altındaki Eylemler'den Blob Kapsayıcısı Oluştur'u seçin.
  4. Giriş alanına giriş girin.
  5. output adlı başka bir blob kapsayıcısı oluşturun.
  6. Giriş kapsayıcısını seçin ve ardından sağ bölmede Karşıya dosya yükle'yi>seçin.
  7. Dosyaları karşıya yükle ekranında, Seçili dosyalar'ın altında, giriş alanının yanındaki üç nokta ... simgesini seçin.
  8. İndirilen iris.csv dosyanızın konumuna gidin, Aç'ı ve ardından Karşıya Yükle'yi seçin.

Screenshot of Storage Explorer with containers and blobs created in the storage account.

Python betiği geliştirme

Aşağıdaki Python betiği, Depolama Explorer giriş kapsayıcınızdan iris.csv veri kümesi dosyasını yükler, verileri işler ve sonuçları çıkış kapsayıcısına kaydeder.

Betiğin Batch hesabınıza bağlı Azure Depolama hesabının bağlantı dizesi kullanması gerekir. bağlantı dizesi almak için:

  1. Azure portalında Batch hesabınıza bağlı depolama hesabının adını arayın ve seçin.
  2. Depolama hesabının sayfasında, Güvenlik ve ağ altındaki sol gezinti bölmesinden Erişim anahtarları'nı seçin.
  3. anahtar1'in altında, Bağlan ion dizesinin yanındaki Göster'i seçin ve ardından Kopyala simgesini seçerek bağlantı dizesi kopyalayın.

yer tutucusunu değiştirerek bağlantı dizesi aşağıdaki betike yapıştırın<storage-account-connection-string>. Betiği main.py adlı bir dosya olarak kaydedin.

Önemli

Hesap anahtarlarının uygulama kaynağında kullanıma açıklanması Üretim kullanımı için önerilmez. Kimlik bilgilerine erişimi kısıtlamalı ve değişkenleri veya yapılandırma dosyasını kullanarak kodunuzda bunlara başvurmalısınız. Batch ve Depolama hesap anahtarlarını Azure Key Vault'ta depolamak en iyisidir.

# Load libraries
from azure.storage.blob import BlobClient
import pandas as pd

# Define parameters
connectionString = "<storage-account-connection-string>"
containerName = "output"
outputBlobName	= "iris_setosa.csv"

# Establish connection with the blob storage account
blob = BlobClient.from_connection_string(conn_str=connectionString, container_name=containerName, blob_name=outputBlobName)

# Load iris dataset from the task node
df = pd.read_csv("iris.csv")

# Take a subset of the records
df = df[df['Species'] == "setosa"]

# Save the subset of the iris dataframe locally in the task node
df.to_csv(outputBlobName, index = False)

with open(outputBlobName, "rb") as data:
    blob.upload_blob(data, overwrite=True)

İşlevselliği test etmek ve doğrulamak için betiği yerel olarak çalıştırın.

python main.py

Betik, yalnızca Species = setosa içeren veri kayıtlarını içeren iris_setosa.csv adlı bir çıkış dosyası üretmelidir. Düzgün çalıştığını doğruladıktan sonra main.py betik dosyasını Depolama Gezgini giriş kapsayıcınıza yükleyin.

Data Factory işlem hattı ayarlama

Python betiğinizi kullanan bir Data Factory işlem hattı oluşturun ve doğrulayın.

Hesap bilgilerini alma

Data Factory işlem hattı Batch ve Depolama hesap adlarınızı, hesap anahtarı değerlerinizi ve Batch hesap uç noktanızı kullanır. Bu bilgileri Azure portalından almak için:

  1. Azure Search çubuğunda Batch hesabınızın adını arayın ve seçin.

  2. Batch hesabı sayfanızda sol gezinti bölmesinden Anahtarlar'ı seçin.

  3. Anahtarlar sayfasında aşağıdaki değerleri kopyalayın:

    • Batch hesabı
    • Hesap uç noktası
    • Birincil erişim anahtarı
    • Depolama hesabı adı
    • Anahtar1

İşlem hattını oluşturma ve çalıştırma

  1. Azure Data Factory Studio henüz çalışmıyorsa Azure portalındaki Data Factory sayfanızda Studio'yu başlat'ı seçin.

  2. Data Factory Studio'da sol gezinti bölmesindeki Yazar kalem simgesini seçin.

  3. Fabrika Kaynakları'nın altında simgeyi ve ardından İşlem Hattı'nı +seçin.

  4. Sağ taraftaki Özellikler bölmesinde işlem hattının adını Python Çalıştır olarak değiştirin.

    Screenshot of Data Factory Studio after you select Add pipeline.

  5. Etkinlikler bölmesinde Batch Hizmeti'ni genişletin ve Özel etkinliği işlem hattı tasarımcısının yüzeyine sürükleyin.

  6. Tasarımcı tuvalinin altındaki Genel sekmesinde, Ad'ın altına testPipeline yazın.

    Screenshot of the General tab for creating a pipeline task.

  7. Azure Batch sekmesini ve ardından Yeni'yi seçin.

  8. Yeni bağlı hizmet formunu aşağıdaki gibi doldurun:

    • Ad: Bağlı hizmet için AzureBatch1 gibi bir ad girin.
    • Erişim anahtarı: Batch hesabınızdan kopyaladığınız birincil erişim anahtarını girin.
    • Hesap adı: Batch hesabınızın adını girin.
    • Batch URL'si: Batch hesabınızdan kopyaladığınız hesap uç noktasını girin, örneğin https://batchdotnet.eastus.batch.azure.com.
    • Havuz adı: Batch Explorer'da oluşturduğunuz özel-activity-pool havuzunu girin.
    • hesap bağlı hizmet adını Depolama: Yeni'yi seçin. Sonraki ekranda AzureBlob Depolama 1 gibi bağlı depolama hizmeti için bir Ad girin, Azure aboneliğinizi ve bağlı depolama hesabınızı seçin ve ardından Oluştur'u seçin.
  9. Batch Yeni bağlı hizmet ekranının alt kısmında Bağlantıyı test et'i seçin. Bağlantı başarılı olduğunda Oluştur'u seçin.

    Screenshot of the New linked service screen for the Batch job.

  10. Ayarlar sekmesini seçin ve aşağıdaki ayarları girin veya seçin:

    • Komut: girin cmd /C python main.py.
    • Kaynak bağlı hizmeti: AzureBlob Depolama 1 gibi oluşturduğunuz bağlı depolama hizmetini seçin ve başarılı olduğundan emin olmak için bağlantıyı test edin.
    • Klasör yolu: Klasör simgesini seçin ve ardından giriş kapsayıcısını seçin ve Tamam'ı seçin. Bu klasördeki dosyalar, Python betiği çalışmadan önce kapsayıcıdan havuz düğümlerine indirilir.

    Screenshot of the Settings tab for the Batch job.

  11. İşlem hattını doğrulamak için işlem hattı araç çubuğunda Doğrula'yı seçin.

  12. İşlem hattını test etmek ve doğru çalıştığından emin olmak için Hata Ayıkla'ya tıklayın.

  13. İşlem hattını yayımlamak için Tümünü yayımla'yı seçin.

  14. Tetikleyici ekle'yi ve ardından İşlem hattını çalıştırmak için Şimdi tetikle'yi veya zamanlamak için Yeni/Düzenle'yi seçin.

    Screenshot of Validate, Debug, Publish all, and Add trigger selections in Data Factory.

Günlük dosyalarını görüntülemek için Batch Gezgini'ni kullanma

İşlem hattınızı çalıştırmak uyarılar veya hatalar oluşturuyorsa, daha fazla bilgi için Batch Explorer'ı kullanarak stdout.txt ve stderr.txt çıkış dosyalarına bakabilirsiniz.

  1. Batch Explorer'da sol kenar çubuğundan İşler'i seçin.
  2. adfv2-custom-activity-pool işini seçin.
  3. Hata çıkış kodu olan bir görev seçin.
  4. Sorununuzu araştırmak ve tanılamak için stdout.txt ve stderr.txt dosyalarını görüntüleyin.

Kaynakları temizleme

Batch hesapları, işleri ve görevleri ücretsizdir, ancak işlem düğümleri iş çalıştırmadığında bile ücretlendirilir. Düğüm havuzlarını yalnızca gerektiği gibi ayırmak ve işiniz bittiğinde havuzları silmek en iyisidir. Havuzların silinmesi, düğümlerdeki tüm görev çıkışını ve düğümleri siler.

Giriş ve çıkış dosyaları depolama hesabında kalır ve ücrete tabi olabilir. Dosyalara artık ihtiyacınız kalmadığında, dosyaları veya kapsayıcıları silebilirsiniz. Batch hesabınıza veya bağlı depolama hesabınıza artık ihtiyacınız kalmadığında bunları silebilirsiniz.

Sonraki adımlar

Bu öğreticide Batch iş yükünü çalıştırmak için Batch Explorer, Depolama Explorer ve Data Factory ile Python betiğini kullanmayı öğrendiniz. Data Factory hakkında daha fazla bilgi için bkz. Azure Data Factory nedir?