Öğ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
- Yerel test için yüklü bir Python dağıtımı.
- Azure-Storage-blob
pippaketi. - iris.csv veri kümesi
- Bir Azure Batch hesabı ve bağlı bir Azure Depolama hesabı. Batch hesaplarını oluşturma ve depolama hesaplarına bağlama hakkında daha fazla bilgi için bkz. Batch hesabı oluşturma .
- Azure Data Factory hesabı. Azure portal aracılığıyla veri fabrikası oluşturma hakkında daha fazla bilgi için bkz. Veri Fabrikası oluşturma .
- Batch Explorer.
- Azure Depolama Gezgini.
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.)
Tüm hizmetler > Batch hesapları' nı seçin ve ardından Batch hesabınızın adını seçin.
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.
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.
- Batch Explorer için Azure kimlik bilgilerinizi kullanarak oturum açın.
- Batch hesabınızı seçin
- Sol taraftaki çubukta havuzlar ' ı seçerek bir havuz oluşturun, sonra arama formunun üzerindeki Ekle düğmesine basın.
- Bir KIMLIK ve görünen ad seçin.
custom-activity-poolBu örnek için kullanacağız. - Ölçek türünü sabit boyut olarak ayarlayın ve adanmış düğüm sayısını 2 olarak ayarlayın.
- Veri bilimi altında, işletim sistemi olarak dsvm Windows ' u seçin.
Standard_f2s_v2Sanal makine boyutu olarak seçin.- 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. - Tamam’ı seçin.
- Bir KIMLIK ve görünen ad 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.
- Depolama Gezgini için Azure kimlik bilgilerinizi kullanarak oturum açın.
- 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
inputve çıkış kapsayımuzu arayacağızoutput.
- Bu örnekte, giriş kapsayımuzu
iris.csvinputBLOB 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.
Bu makalenin"Veri Fabrikası oluşturma" bölümünde bir veri fabrikası oluşturmak için adımları izleyin.
Fabrika kaynakları kutusunda + (artı) düğmesini seçin ve ardından işlem hattı ' nı seçin.
Genel sekmesinde, işlem hattının adını "Python Çalıştır" olarak ayarlayın

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:
Genel sekmesinde, ad Için Testpipeline ' ı

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.

Ayarlar sekmesinde:
- Komutunu olarak ayarlayın
python main.py. - 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.
- 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.

- Komutunu olarak ayarlayın
İş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.
İşlem hattını test etmek ve düzgün çalıştığından emin olmak için Hata Ayıkla ' ya tıklayın.
İşlem hattını yayımlamak için Yayımla ' ya 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.
- Batch Explorer sol taraftaki işleri seçin.
- Veri fabrikanızın oluşturduğu işi seçin. Havuzunuzu adlandırdığınız varsayılarak
custom-activity-pool, öğesini seçinadfv2-custom-activity-pool. - Hata çıkış kodu olan göreve tıklayın.
stdout.txtstderr.txtSorununuzu 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.: