Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
OneLake, Fabric'in Azure Depolama uyumlu erişime sahip açık göl depolama katmanıdır. Fabric verilerini, ADLS Gen2/DFS erişimi için onelake.dfs.fabric.microsoft.com ve Blob API erişimi için onelake.blob.fabric.microsoft.com üzerinden kullanıma sunar. Bu makalede, Azure Machine Learning AML veri depoları, toplu uç nokta giriş ve çıkışları ve not defterlerinden veya betiklerden doğrudan abfss:// erişim aracılığıyla bu yüzeyleri nasıl kullanabileceği açıklanır.
Azure Machine Learning, OneLake ile üç birincil tümleştirme noktası sağlar:
-
Veri depoları - Fabric Lakehouse
Fileskonumunu Azure Machine Learning veri deposu olarak kaydedin ve işlerden ve veri varlıklarından bu konuma başvurun. Azure Machine Learning, Fabric Lakehouse tablolarına doğrudan bağlantıyı da destekler, ancak bu desen ADLS 2. Nesil'e bir kopya içerir ve bu belgede ele alınamaz. - Toplu işlem uç noktaları - giriş ve çıkışları OneLake'te bulunan toplu işlem dağıtımlarını çağırma (şu anda kayıtlı bir veri deposu veya kısayol destekli Blob/ADLS veri deposu aracılığıyla).
- OneLake API'leri / doğrudan ABFSS erişimi - OneLake'i doğrudan Azure Machine Learning çalışma zamanı ortamlarında çalışan not defterlerinden ve betiklerden okuyun ve yazın.
| Azure Machine Learning tümleştirme noktası | OneLake yüzeyi | Azure Machine Learning yüzey | Veriler ADLS 2. Nesil'e kopyalanıyor mu? | Azure Machine Learning'de kullanılacak birincil URI |
|---|---|---|---|---|
| OneLake veri deposu | Lakehouse /Files bölümü. |
CLI / SDK (YAML) | Hayır | azureml://datastores/<name>/paths/<path> |
| OneLake lakehouse tablosu (UI ile bağlantılı) | Lakehouse /Tables bölümü. |
Azure Machine Learning Stüdyosu (kullanıcı arabirimi) | Evet - Fabric işlem hattı aracılığıyla ADLS 2. Nesil'e kopyalandı, sonra kaydedildi | azureml://datastores/<adls_ds>/paths/<path> |
| Batch uç noktası girişi/çıkışı | Lakehouse /Files (ADLS kısayolu aracılığıyla). |
CLI / SDK / REST | Optional |
azureml://datastores/<name>/paths/<path> veya abfss://... |
| Direct OneLake API/ABFSS |
/Files ve /Tables |
Azure Machine Learning işlem kaynaklarındaki not defterleri/betikler | Hayır | abfss://<workspace>@onelake.dfs.fabric.microsoft.com/<lakehouse>.Lakehouse/Files/... |
Note
azureml://depolama protokolü değil, Azure Machine Learning özgü bir URI düzenidir. Azure Machine Learning denetim düzlemi ve veri çalışma zamanı, adlandırılmış veri deposunda kayıtlı bağlantı meta verilerini ve kimlik bilgilerini kullanarak temel depolama konumunu (Blob, ADLS 2. Nesil, OneLake ve daha fazlası) çözümlemek için bunu kullanır.
Azure Machine Learning Veri Deposu olarak OneLake
Veri deposu, dış depolama konumu (OneLake, Azure Blob, ADLS Gen2, Azure Dosyalar) için Azure Machine Learning'de çalışma alanı kapsamındaki bir soyutlamadır. Mevcut bir depolama kaynağı, uç nokta, kapsayıcı/dosya sistemi/öğe ve kimlik bilgileri veya kimlik yapılandırması için bağlantı meta verilerini, verilerin kendisini sağlamadan veya kopyalamadan depolar. Azure Machine Learning içindeki çeşitli deneyimler, kararlı bir URI (azureml://datastores/<name>/paths/<path>) kullanarak veri depolarına başvurabilir.
Note
Azure Machine Learning Stüdyosu şu anda OneLake'i kullanıcı arabiriminde veri deposu türü olarak listelememektedir ancak CLI ve SDK, YAML tanımı aracılığıyla OneLake veri depoları oluşturmayı ve yönetmeyi destekler.
Microsoft Fabric’den gerekli bağlantı meta verisi
Fabric'teki lakehouse öğesinin Özellikler sayfasından şunları kaydedin:
-
Uç nokta - OneLake için, kullanmak istediğiniz protokole bağlı olarak
onelake.dfs.fabric.microsoft.comveyaonelake.blob.fabric.microsoft.comkullanın. - Çalışma Alanı GUID'i
- Öğe GUID'i (göl evi GUID'i)
Azure Machine Learning'de veri deposu oluşturma
onelake-datastore.yml:
$schema: https://azuremlschemas.azureedge.net/latest/oneLakeDatastore.schema.json
name: <name_of_datastore>
type: onelake
description: Datastore pointing to a Microsoft Fabric lakehouse.
onelake_workspace_name: <workspace_guid>
endpoint: onelake.dfs.fabric.microsoft.com
artifact:
type: lakehouse
name: <item_guid>/Files # Include /Files in the name to point at the lakehouse Files layer; omit it to point at the root of the item.
Azure CLI kullanarak hedef Azure Machine Learning çalışma alanında veri deposu oluşturun.
<name_of_AML_workspace> ve <name_of_datastore> yer tutucularını uygun değerlerle değiştirin.
az ml datastore create --file ./onelake-datastore.yml \
--resource-group rg-amlonelake \
--workspace-name <name_of_AML_workspace>
Azure Machine Learning işlerinde veri deposu kullanma
Azure Machine Learning veri deposu kaydedildikten sonra, azureml:// URI'si çeşitli kullanım deneyimleri üzerinden kullanılabilir. Buradaki örnek, bir Azure Machine Learning işinde OneLake veri deposuna nasıl başvurduğunu gösterir. Aşağıdaki URI, veri varlığı tanımlarında ve Azure Machine Learning'in veri deposu yolunu kabul ettiği her yerde, bir iş Input/Output için geçerlidir; ancak batch uç noktaları bunun dışındadır; çünkü bunlar şu anda giriş veya çıkış için veri deposu türü olarak OneLake'i desteklememektedir.
Aşağıdaki iş örneği, bir dosyayı aynı OneLake veri deposu içindeki bir konumdan diğerine kopyalar. Aynı işte giriş ve çıkış olarak desteklenen çeşitli depolama hedeflerinin (Blob, ADLS 2. Nesil, OneLake) bir karışımını kullanabilirsiniz.
type: command
command: cp ${{inputs.input_data}} ${{outputs.output_data}}
compute: azureml:<replace_with_aml_compute_target>
environment: azureml://registries/azureml/environments/sklearn-1.1/versions/4
inputs:
input_data:
mode: ro_mount
path: azureml://datastores/<name_of_datastore>/paths/<folder-path>/<file-name> # Do not include /Files in the <file-name> portion of the path. Reason being that the datastore is already pointed at the /Files layer of the lakehouse via the artifact name in the datastore definition.
type: uri_file
outputs:
output_data:
mode: rw_mount
path: azureml://datastores/<name_of_datastore>/paths/<folder-path>/<file-name> # Do not include /Files in the <file-name> portion of the path. Reason being that the datastore is already pointed at the /Files layer of the lakehouse via the artifact name in the datastore definition.
type: uri_file
# optional: if you want to create a data asset from the output,
# then uncomment `name` (`name` can be set without setting `version`, and in this way, we will set `version` automatically for you)
# name: <name_of_data_asset> # use `name` and `version` to create a data asset from the output
# version: <version_of_data_asset>
OneLake veri deposuna doğrudan başvurabilen Azure Machine Learning deneyimler
| # | Azure Machine Learning yüzey / arabirim | Yönlendirme | OneLake adresleme | Source |
|---|---|---|---|---|
| 1 |
Azure Machine Learning işleri - Input / Output (CLI v2, SDK v2 command, pipeline, sweep) |
R / W | azureml://datastores/<onelake_ds>/paths/... |
Bir işteki verilere erişme |
| 2 |
Veri varlıkları (uri_file, uri_folder) OneLake veri deposu yolunda kayıtlı |
R (varlıklar salt okunur referanslardır) |
azureml://datastores/<onelake_ds>/paths/... sürümlendirme ile sarılmış |
Veri varlıkları oluşturma |
| 3 | Azure Machine Learning işlem ortamındaki not defterlerinde/betiklerde azureml-fsspecaracılığıyla Azure Machine Learning veri çalışma zamanı |
R / W |
azureml://datastores/<onelake_ds>/paths/..., fsspec.open(...) veya AzureMachineLearningFileSystem ile açıldı |
Etkileşimli geliştirme sırasında OneLake'ten verilere erişme |
Toplu iş uç noktalarıyla OneLake
Azure Machine Learning, makine öğrenmesi modelleri ve işlem hatlarıyla uzun süreli, eşzamansız çıkarım gerçekleştirmek için model dağıtımına yönelik toplu iş uç noktalarına erişmek üzere Fabric kullanmanızı sağlar.
Bu düzende mimari hedef, hem giriş özelliği verilerinin hem de çıkış tahminlerinin tek bir fiziksel kopyasının her iki platform için de erişilebilir olmasını sağlamaktır : Fabric ve Azure Machine Learning. ADLS'deki bir dosya iki geçerli adrese sahiptir: Azure Machine Learning toplu işlem uç noktalarının girdi/çıktı olarak kabul ettiği bir azureml://datastores/... URI'si ve Fabric not defterlerinin, işlem hatlarının ve SQL analiz uç noktalarının sorgulayabildiği (ADLS kısayolu aracılığıyla etkinleştirilen) bir lakehouse yolu. Bu düzen kopya, zamanlanmış eşitleme veya ikinci bir gerçek kaynağı içermez. Göl evi görünümü ve Azure Machine Learning görünümü aynı depolama hesabının projeksiyonlarıdır.
Toplu iş uç noktaları, OneLake’te görünen iki klasör arasında bulunur:
-
Girdiler - Fabric veri mühendisliği tarafından hazırlanan düzenlenmiş
/Fileskonum (ham veri iniş alanı, puanlanmış istekler, günlük bölüntüler). Azure Machine Learning, bunu kısayolun işaret ettiği depolama alanıyla aynı depolama alanını işaret eden bir ADLS Gen2 veri deposu aracılığıyla okur. -
Çıkışlar - toplu iş tarafından aynı ADLS Gen2 hesabına yazılan bir tahmin konumu
/Files; bu konum lakehouse'ta bir kısayol aracılığıyla görünür ve Fabric not defterleri, veri akışları veya Delta tablosu yükleme adımı tarafından hemen kullanılabilir.
Daha genel olarak, bu yaklaşım ADLS Gen2’de verilerin zaten bulunduğu senaryolar için çok uygundur. Örneğin, analitik veya ML iş yüklerini besleyen mevcut bir veri gölü. OneLake kısayolu, bu verileri OneLake’e taşımak veya çoğaltmak yerine, mevcut ADLS konumunu bir Fabric lakehouse içinde görünür kılar; aynı hesap da veri deposu olarak kayıtlı olmaya devam eder.
Azure Machine Learning not defterlerinden ve betiklerden OneLake SDK veya API erişimi
Kod, bir Azure Machine Learning işlem kaynağında (işlem örneği, işlem kümesi veya sunucusuz işlem) çalıştığında, abfss:// yolu veya OneLake veri deposu yolu üzerinden doğrudan OneLake'ten okuyabilir ve OneLake'e yazabilir. OneLake SDK’sı ve API’leri esnek bir tümleştirme noktası sunar ve notebook tabanlı keşif, özel eğitim komut dosyaları ve Azure Machine Learning işlem kaynağı üzerinden hem /Files hem de /Tables erişimi gerektiren bileşenler için kullanılabilir.
OneLake, OneLake'teki dosyalar için bir abfss:// URI kullanır ve kimlik veya hizmet sorumlusu tabanlı kimlik doğrulaması için geçerli iş giriş yolu olarak kullanılabilir:
abfss://<workspace_guid>@<endpoint>/<item_guid>/Files/<path>
Performans ve ölçeklenebilirlik - Azure Machine Learning'de doğru okuyucuyu seçme
fsspec (ve sarmaladığı OneLake adlfs arka ucu) Python düzeyinde bir dosya sistemi soyutlamasıdır. Not defterleri için kullanışlıdır ancak kendisi paralel bir veri altyapısı değildir; eşzamanlılığı tek bir Python işlemiyle sınırlanır. Bu nedenle performans, üzerine oturan okuyucuya ve motora bağlıdır. Azure Machine Learning veri çalışma zamanı belgelerinde, eğitim verileri için istemci tarafında Python ile veri indirmeye kıyasla Azure Machine Learning veri çalışma zamanının kullanılmasının açıkça önerildiği ve "istemci kodu, Global Interpreter Lock (GIL) sorunları nedeniyle Python kullanarak depolama alanından veri indirdiğinde" gözlemlenen depolama aktarım hızı sınırlamalarına dikkat çekildiği belirtilir.
OneLake'de büyük ölçekli veri işleme için Azure Machine Learning Spark kullanma
OneLake bir analiz gölü olarak tasarlanmıştır ve abfss:// uç nokta Spark'ın kullandığı paralel, bölümlenmiş okuma desenleri için oluşturulur. TB ölçeğinde ETL, özellik mühendisliği veya dağıtılmış eğitim verisi hazırlama için, tercihen çok düğümlü bir kümede fsspecüzerinde Azure Machine Learning Spark kullanın:
Azure Machine Learning’de Sunucusuz Spark veya ekli Synapse Spark havuzu - Spark işlerini/not defterlerini Azure Machine Learning’de çalıştırın ve
abfss://aracılığıyla OneLake’i doğrudan okuyun. Bkz. Azure Machine Learning'de Apache Spark.Fabric Spark - Fabric içinde çalışan Spark not defterleri ve işler, aynı lakehouse'a doğrudan erişebilir ve düzenlenmiş çıktıları OneLake veri deposu aracılığıyla Azure Machine Learning'e aktarabilir.
Aşağıdaki örnek, Azure Machine Learning işlem kaynağındaki bir Spark oturumundan bir lakehouse Delta tablosunun nasıl okunacağını gösterir:
df = (
spark.read.format("delta")
.load(
"abfss://<workspace_guid>@onelake.dfs.fabric.microsoft.com/"
"<item_guid>/Tables/<table-name>"
)
)
OneLake ve Azure Machine Learning mltable
Şu anda, dosya akışı sırasında OneLake tarafından desteklenen verilerin mltable üzerinden okunması başarısız oluyor. Gözlemlenen hatalar ScriptExecution.StreamAccess.NotFound ve Invalid argument (os error 22) içerir. Azure Machine Learning işlem kaynağı, OneLake’i azureml-fsspec, pyarrow veya aynı veri deposu ve kimlikle Azure Depolama Veri Gölü SDK’sı aracılığıyla çözümleyebilir ve okuyabilir.
ML Tablosu yerine aşağıdaki alternatiflerden birini göz önünde bulundurun:
- OneLake okumaları için
uri_file/uri_folderveri varlıklarını tercih edin ve bunlarıazureml-fsspec+ pyarrow / pandas / polars / DuckDB ile (tek düğümde) ya da Spark ileabfss://üzerinde (dağıtık olarak) yükleyin. Microsoft Learnmltablebelgeleri, basit bir Parquet klasörü veya CSV dosyasıuri_file/uri_folderiçin önerilen seçenek olduğunu belirtir. -
mltablesemantiği gerçekten gerekiyorsa — en yaygın olarak, zorunlu kılantype: mltablegirdi olarak — verileri önce bir ADLS Gen2 hesabına hazırlayın vemltableöğesini bu konuma karşı oluşturun.mltablebugün ADLS 2. Nesil'de güvenilirdir. - OneLake kısayol deseni (toplu işlem uç noktalarının bir parçası olarak ele alınır), ML Tablosu için doğal olarak uygundur: aynı fiziksel dosya ADLS Gen2’de bulunur (burada
mltableçalışır) ve kopyalama olmadan, bir kısayol aracılığıyla Fabric lakehouse’unda görünür (Fabric araçları da onu burada görür).
mltable, uri_file / uri_folder ürünlerinin varsayılan olarak sunmadığı çeşitli özellikleri bir araya getirir. Aşağıdaki tabloda, OneLake'i doğrudan okuduğunuzda en yakın eşdeğer listelenir.
mltable yetenek |
Alternatif |
|---|---|
Bildirim temelli, taşınabilir okuma şeması (sınırlayıcı, kodlama, üst bilgi, bölüm boyutu, sütun türleri) verilerin yanı sıra dosya MLTable olarak kalıcı hale getirildi |
Python (pyarrow.parquet.ParquetDataset, pandas.read_csv(...), , polars.scan_parquet(...)duckdb.read_parquet(...)) içindeki okuma ayarlarını sabitleyin ve bu yükleyici modülünü kaynak denetimi altında tutun |
Okuma zamanında yerleşik dönüştürmeler (filter, drop_columns, convert_column_types, take_random_sample) |
Seçtiğiniz motorda eşdeğerleri uygulayın - polars / duckdb lazy frame’ler benzer şekilde filtreleri ve projeksiyonları alta iter; abfss:// üzerindeki Spark da aynı şeyi büyük ölçekte yapar |
| Çok kaynaklı yol oluşturma - birden çok dosya, klasör, glob desenleri ve hatta depolama hesaplarını kapsayan bir tablo | Bir yol listesini tek bir mantıksal veri kümesi olarak okumak için, fs.glob(...), azureml-fsspec veya Spark'ın pyarrow.dataset.dataset(paths) öğesinden spark.read.parquet(*paths) kullanın |
eval_mount
/
eval_download modları Azure Machine Learning işlerinde (MLTable dosyasındaki yolları iş gönderimi sırasında çözümleyin, yalnızca başvurulanları bağlayın) |
Özenle seçilmiş bir alt kümeyi yukarı akışta oluşturun (Fabric not defteri veya Azure Machine Learning ön işleme işi verileri özel bir /Files/curated/... klasörüne yazar) ve bunu uri_folder öğesine yönlendirin |
türünde bir veri varlığı aracılığıyla mltable (yalnızca verilerin değil) sürümlenmesi |
Yükleyici betiğini Git'te model koduyla birlikte sürümleyin veya uri_folder veri varlığını, eğitim betiğinin yanında depoya eklenmiş küçük bir yükleyici modülüyle eşleştirin |
**AutoML girişi—AutoML gereksinimleri type: mltable (AutoML eğitimini yapılandırma) |
Verileri ADLS Gen2’ye hazırlayın (lakehouse kısayolu tek bir fiziksel kopya tutar) ve mltable burada oluşturun |
OneLake'te özel eğitim ve puanlama için, uri_file / uri_folder ile birlikte seçtiğiniz bir işlem altyapısını kullanın (pyarrow / polars / duckdb tek düğümlü veya Azure Machine Learning'de dağıtılmış Spark). Bu seçenekler, mltable ile aynı işlevsel özellikleri karşılaştırılabilir veya daha yüksek iş hacmiyle sunar.
AutoML için, OneLake üzerinden mltable desteklenene kadar ADLS Gen2 üzerinden yönlendirin. Veri yinelemesini önlemek için OneLake kısayolunu kullanabilir ve diğer kullanım örnekleri için verilerin Fabric'de kullanılabilir durumda olmasını sağlayabilirsiniz.
Considerations
Kimlik modeli. OneLake, SaaS kimlik modelini kullandığından Abonelik Kimliğini kullanıma sunmaz. Depolama hesabındaki Azure rol tabanlı erişim denetimi (Azure RBAC) yerine, erişim hedef lakehouse üzerindeki Fabric çalışma alanı rolleri (Yönetici, Üye, Katkıda Bulunan, Görüntüleyici) tarafından yönetilir. OneLake veri deposu, Veri depoları oluşturma bölümünde belgelenen iki kimlik bilgisi modunu destekler. Veri depoyu ayarlamak ve Fabric lakehouse'a erişmek için Fabric çalışma alanı Katkıda Bulunanı rolüne ve Azure Machine Learning çalışma alanı yöneticisi rolüne sahip bir kullanıcıya ihtiyacınız vardır.
Verilerin tek kopyası. OneLake veri deposu ve doğrudan ABFSS erişimi, OneLake'in "tek kopya" ilkesini korur. Toplu uç noktalar için kısayol modeli, bu ilkeyi mantıksal olarak korur ancak altyapıdaki fiziksel depo olarak bir ADLS Gen2 hesabı gerektirir.
Bölgelerin aynı konumda bulunması. Bölgeler arası çıkıştan kaçınmak için Azure Machine Learning çalışma alanını, işlem ve Fabric kapasitesini veya OneLake bölgesini aynı bölgeye yerleştirin.