Öğretici: Azure Batch kullanarak Azure Data Factory Python betikleri çalıştırma

Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:

  • Batch ve Depolama hesapları ile kimlik doğrulaması
  • Python 'da betik geliştirme ve çalıştırma
  • Bir uygulamayı çalıştırmak için işlem düğümleri havuzu oluşturma
  • Python iş yüklerinizi zamanlama
  • Analiz işlem hattınızı izleme
  • Günlük verilerinize erişin

Aşağıdaki örnek, bir BLOB depolama kapsayıcısından CSV girişi alan bir Python betiği çalıştırır, bir veri işleme işlemi gerçekleştirir ve çıktıyı ayrı bir BLOB depolama kapsayıcısına yazar.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

Azure'da oturum açma

https://portal.azure.com adresinden Azure portalında oturum açın.

Hesap kimlik bilgilerini alma

Bu örnekte, Batch ve depolama hesaplarınız için kimlik bilgileri sağlamanız gerekir. Gerekli kimlik bilgilerini almanın kolay yolu Azure portalındadır. (Bu kimlik bilgilerini ayrıca Azure API'lerini veya komut satırı araçlarını kullanarak da alabilirsiniz.)

  1. Tüm hizmetler > Batch hesapları' nı seçin ve ardından Batch hesabınızın adını seçin.

  2. Batch kimlik bilgilerini görmek için anahtarlar' ı seçin. Batch hesabı, URL ve Birincil erişim anahtarı değerlerini metin düzenleyiciye kopyalayın.

  3. Depolama hesabı adını ve anahtarlarını görmek için depolama hesabı' nı seçin. Depolama hesabı adı ve Key1 değerlerini bir metin düzenleyiciye kopyalayın.

Batch Explorer kullanarak bir Batch havuzu oluşturma

Bu bölümde, Azure Data Factory Işlem hattının kullanacağı toplu Iş havuzunu oluşturmak için Batch Explorer kullanacaksınız.

  1. Batch Explorer için Azure kimlik bilgilerinizi kullanarak oturum açın.
  2. Batch hesabınızı seçin
  3. Sol taraftaki çubukta havuzlar ' ı seçerek bir havuz oluşturun, sonra arama formunun üzerindeki Ekle düğmesine basın.
    1. Bir KIMLIK ve görünen ad seçin. custom-activity-poolBu örnek için kullanacağız.
    2. Ölçek türünü sabit boyut olarak ayarlayın ve adanmış düğüm sayısını 2 olarak ayarlayın.
    3. Veri bilimi altında, işletim sistemi olarak dsvm Windows ' u seçin.
    4. Standard_f2s_v2Sanal makine boyutu olarak seçin.
    5. Başlangıç görevini etkinleştirin ve komutunu ekleyin cmd /c "pip install azure-storage-blob pandas" . Kullanıcı kimliği varsayılan Havuz kullanıcısı olarak kalabilir.
    6. Tamam’ı seçin.

Blob kapsayıcıları oluşturma

Burada, OCR toplu işi için giriş ve çıkış dosyalarınızı depolayacak blob kapsayıcıları oluşturacaksınız.

  1. Depolama Gezgini için Azure kimlik bilgilerinizi kullanarak oturum açın.
  2. Batch hesabınıza bağlı depolama hesabını kullanarak, BLOB kapsayıcısı oluşturmakonumundaki adımları izleyerek iki blob kapsayıcı (bir diğeri çıkış dosyaları için bir tane) oluşturun.
    • Bu örnekte, giriş kapsayımuzu input ve çıkış kapsayımuzu arayacağız output .
  3. iris.csv input BLOB kapsayıcısında blob 'ları yönetme adımlarını izleyerek Depolama Gezgini kullanarak giriş kapsayıcınıza yükleyin

Python 'da betik geliştirme

Aşağıdaki Python betiği, iris.csv input veri kümesini kapsayıcılarınızdan yükler, bir veri işleme işlemi gerçekleştirir ve sonuçları kapsayıcıya geri kaydeder output .

# 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 task node
df.to_csv(outputBlobName, index = False)

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

Betiği kaydedin main.py ve Azure depolama input kapsayıcısına yükleyin. Blob kapsayıcınıza yüklemeden önce işlevselliğini yerel olarak test edin ve doğrulayın:

python main.py

Azure Data Factory işlem hattı ayarlama

Bu bölümde, Python komut dosyanızı kullanarak bir işlem hattı oluşturup doğrulayacaksınız.

  1. Bu makalenin"Veri Fabrikası oluşturma" bölümünde bir veri fabrikası oluşturmak için adımları izleyin.

  2. Fabrika kaynakları kutusunda + (artı) düğmesini seçin ve ardından işlem hattı ' nı seçin.

  3. Genel sekmesinde, işlem hattının adını "Python Çalıştır" olarak ayarlayın

    Genel sekmesinde, işlem hattının adını "Python Çalıştır" olarak ayarlayın

  4. Etkinlikler kutusunda Batch hizmeti' ni genişletin. Etkinlikler araç kutusundan özel etkinliği işlem hattı tasarımcı yüzeyine sürükleyin. Özel etkinlik için aşağıdaki sekmeleri doldurun:

    1. Genel sekmesinde, ad Için Testpipeline ' ı  Genel sekmesinde belirtin, ad için testpipeline belirtin

    2. Azure Batch sekmesinde, önceki adımlarda oluşturulan Batch hesabını ekleyin ve başarılı olduğundan emin olmak için bağlantıyı test edin. Azure Batch sekmesinde, önceki adımlarda oluşturulan Batch hesabını ekleyin, ardından bağlantıyı test edin

    3. Ayarlar sekmesinde:

      1. Komutunu olarak ayarlayın python main.py .
      2. Kaynak bağlı hizmeti için, önceki adımlarda oluşturulan depolama hesabını ekleyin. Başarılı olduğundan emin olmak için bağlantıyı test edin.
      3. Klasör yolu' nda, Python betiğini ve ilişkili girişleri Içeren Azure Blob depolama kapsayıcısının adını seçin. Bu işlem, Python betiği yürütülmeden önce seçili dosyaları kapsayıcıdan havuzdan düğüm örneklerine indirir.

      Klasör yolu ' nda, Azure Blob depolama kapsayıcısının adını seçin

  5. İşlem hattı ayarlarını doğrulamak için işlem hattı araç çubuğunda Doğrula'ya tıklayın. İşlem hattının başarıyla doğrulandığını onaylayın. Doğrulama çıktısını kapatmak için >> (sağ ok) düğmesini seçin.

  6. İşlem hattını test etmek ve düzgün çalıştığından emin olmak için Hata Ayıkla ' ya tıklayın.

  7. İşlem hattını yayımlamak için Yayımla ' ya tıklayın.

  8. Python betiğini toplu işlemin bir parçası olarak çalıştırmak için Tetikle ' e tıklayın.

    Python betiğini toplu işlemin bir parçası olarak çalıştırmak için Tetikle ' e tıklayın

Günlük dosyalarını izleme

Uyarıları veya hataları komut dosyanızın yürütülmesi tarafından üretildiğinde, stdout.txt stderr.txt günlüğe kaydedilen çıktı hakkında daha fazla bilgi alabilirsiniz.

  1. Batch Explorer sol taraftaki işleri seçin.
  2. Veri fabrikanızın oluşturduğu işi seçin. Havuzunuzu adlandırdığınız varsayılarak custom-activity-pool , öğesini seçin adfv2-custom-activity-pool .
  3. Hata çıkış kodu olan göreve tıklayın.
  4. stdout.txt stderr.txt Sorununuzu inceleyin ve tanılamanıza ve tanılayın.

Kaynakları temizleme

İşlerin ve görevlerin kendileri için sizden ücret alınmasa da işlem düğümleri için ücret alınır. Bu nedenle, havuzları yalnızca gerektiğinde ayırmanız önerilir. Havuzu sildiğinizde düğümler üzerindeki tüm görev çıkışları silinir. Ancak, giriş ve çıkış dosyaları depolama hesabında kalır. Artık gerekli değilse, Batch hesabını ve depolama hesabını da silebilirsiniz.

Sonraki adımlar

Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:

  • Batch ve Depolama hesapları ile kimlik doğrulaması
  • Python 'da betik geliştirme ve çalıştırma
  • Bir uygulamayı çalıştırmak için işlem düğümleri havuzu oluşturma
  • Python iş yüklerinizi zamanlama
  • Analiz işlem hattınızı izleme
  • Günlük verilerinize erişin

Azure Data Factory hakkında daha fazla bilgi edinmek için bkz.: