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 | Yalnızca kısa süreli işleme için iyidir | |
Data Factory + özel bileşen | ||
Data Factory + Azure Databricks not defteri |
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.
- Avantaj -ları:
- Veriler, nispeten düşük gecikme süresiyle sunucusuz bir işlem üzerinde işlenir
- Data Factory işlem hattı, gelişmiş bir veri dönüştürme akışı uygulayabilen dayanıklı bir Azure İşlevi çağırabilir
- Veri dönüştürmenin ayrıntıları Azure İşlevi tarafından soyutlanır ve başka yerlerden yeniden kullanılabilir ve çağrılabilir
- 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.
- 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.
- 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 işlem hattınızdan bir Azure Machine Learning işlem hattını çağırma.
VEYA - Azure Machine Learning veri deposu oluşturma.
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,
- Veriler depolama alanında farklı bir konuma kaydedilir.
- 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.
- 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.
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.csv
csv 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.