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.
Bu makalede, Azure Databricks sunucusuz işlem aracılığıyla OneLake'e bağlanma adımları gösterilmektedir.
Önkoşullar
Bağlanmadan önce şunları yaptığınızdan emin olun:
- Fabric çalışma alanı ve Lakehouse.
- Premium bir Azure Databricks çalışma alanı.
- En azından Katkıda Bulunan çalışma alanı rol ataması olan bir hizmet sorumlusu.
- Veritabanı sırlarını veya Azure Key Vault (AKV) kullanarak sırları depolamak ve almak. Bu örnekte Databricks gizli bilgiler kullanılır.
Databricks sunucusuz işlem kullanarak OneLake'e bağlanma
Databricks sunucusuz işlem kullanarak, bir küme sağlamadan iş yüklerini çalıştırabilirsiniz. Databricks sunucusuz belgelerine göre, Sunucusuz işlemde Spark yapılandırmasını otomatikleştirmek için Databricks sunucusuz yalnızca desteklenen Spark özelliklerinin bir alt kümesini yapılandırmaya izin verir.
Uyarı
Bu sınırlama Azure Databricks için benzersiz değildir. Amazon Web Services (AWS) ve Google Cloud'daki Databricks sunucusuz uygulamaları da aynı davranışı sergiler.
Databricks sunucusuz işlemle bağlantılı bir not defterinde desteklenmeyen spark yapılandırmasını değiştirmeye veya ayarlamaya çalışırsanız, sistem CONFIG_NOT_AVAILABLE hatası döndürür.
OneLake, Databricks sunucusuz hesaplamadan gelen bağlantıyı destekler. Uygun erişiminiz varsa ve Databricks sunucusuz işlem ile OneLake arasında bir ağ yolu varsa Databricks sunucusuz işlemden OneLake'e bağlanabilirsiniz. Databricks sunucusuz ile kodunuzun desteklenmeyen Spark özelliklerini değiştirmediğinden emin olun.
Dijital defterinizi oluşturun
Databricks çalışma alanında bir not defteri oluşturun ve bunu sunucusuz işlem alanına ekleyin.
Python modüllerini içeri aktarma - Bu örnekte üç modül kullanın:
- msal , Microsoft Authentication Library (MSAL) olarak tasarlanmıştır ve geliştiricilerin Microsoft kimlik platformu kimlik doğrulamasını uygulamalarıyla tümleştirmesine yardımcı olmak için tasarlanmıştır.
- requests modülü, Python kullanarak HTTP isteklerinde bulunmak için kullanılır.
- delta lake , Python kullanarak Delta Lake tablolarını okumak ve yazmak için kullanılır.
from msal import ConfidentialClientApplication import requests from deltalake import DeltaTableUygulama kimliği de dahil olmak üzere Microsoft Entra kiracısı için değişkenleri bildirin. Microsoft Fabric'in konuşlandırıldığı kiracının tenant ID'sini kullanın.
# Fetch from Databricks secrets. tenant_id = dbutils.secrets.get(scope="<replace-scope-name>",key="<replace value with key value for tenant _id>") client_id = dbutils.secrets.get(scope="<replace-scope-name>",key="<replace value with key value for client _id>") client_secret = dbutils.secrets.get(scope="<replace-scope-name>",key="<replace value with key value for secret>")Fabric çalışma alanı değişkenlerini bildirin.
workspace_id = "<replace with workspace name>" lakehouse_id = "<replace with lakehouse name>" table_to_read = "<name of lakehouse table to read>" storage_account_name = workspace_id onelake_uri = f"abfss://{workspace_id}@onelake.dfs.fabric.microsoft.com/{lakehouse_id}.lakehouse/Tables/{table_to_read}"Token elde etmek için istemciyi başlatın.
authority = f"https://login.microsoftonline.com/{tenant_id}" app = ConfidentialClientApplication( client_id, authority=authority, client_credential=client_secret ) result = app.acquire_token_for_client(scopes=["https://onelake.fabric.microsoft.com/.default"]) if "access_token" in result: access_token = result["access_token"] print("Access token acquired.") token_val = result['access_token']OneLake'den delta tablosu okuma
dt = DeltaTable(onelake_uri, storage_options={"bearer_token": f"{token_val}", "use_fabric_endpoint": "true"}) df = dt.to_pandas() print(df.head())Uyarı
Hizmet sorumlusu Katkıda Bulunan çalışma alanı rol atamasına sahiptir ve bunu verileri OneLake'e geri yazmak için kullanabilirsiniz.
Önceki adımları tamamladıktan sonra Databricks'i sunucusuz işlemle bağlı bir not defteri kullanarak OneLake'ten veri okuyabilirsiniz.