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.
Şunlar için geçerlidir:✅ Fabric Veri Mühendisliği ve Veri Bilimi
Fabric Livy API, Fabric portalını kullanmadan uzak bir istemciden doğrudan Fabric Spark işlemine Spark toplu görev ve oturum görevleri göndermenizi sağlar. Bu makalede, bir göl evi oluşturuyor, Microsoft Entra tokenı ile kimlik doğrulaması yapıyor, Livy API uç noktasını keşfediyor ve bir Spark oturum işi gönderip izliyorsun.
Önkoşullar
Fabric Premium veya Deneme kapasitesi göl eviyle
Livy API için Kiracı Yöneticisi Ayarını Etkinleştirme
Uzaktan erişim sağlayan bir istemci olarak Visual Studio Code gibi programlar, Jupyter not defteri desteği, PySpark ve Python için Microsoft Authentication Library (MSAL) kullanılabilir.
Ya bir Microsoft Entra uygulama belirteci. Microsoft kimlik platformunda bir uygulama kaydetme
Veya bir Microsoft Entra SPN (Service Principal) belirteci.
Microsoft Entra ID
REST API istemcisi seçme
Livy API'si ile curl gibi araçlar veya BIR HTTP kitaplığına sahip herhangi bir dil de dahil olmak üzere HTTP isteklerini destekleyen herhangi bir istemciden etkileşim kurabilirsiniz. Bu makaledeki örneklerde
Livy API isteklerini yetkilendirme
Livy API'sini kullanmak için Microsoft Entra ID kullanarak isteklerinizin kimliğini doğrulamanız gerekir. Kullanılabilir iki yetkilendirme yöntemi vardır:
Entra SPN Belirteci (Hizmet Sorumlusu): Uygulama, istemci gizli dizisi veya sertifika gibi kimlik bilgilerini kullanarak kendi kimliğini doğrular. Bu yöntem, kullanıcı etkileşimi gerektirmediği otomatik işlemler ve arka plan hizmetleri için uygundur.
Entra uygulama belirteci (Temsilci): Uygulama, oturum açmış bir kullanıcı adına hareket eder. Uygulamanın kimliği doğrulanmış kullanıcının izinlerine sahip kaynaklara erişmesini istediğinizde bu yöntem uygundur.
Senaryonuza en uygun yetkilendirme yöntemini seçin ve aşağıdaki ilgili bölümü izleyin.
Livy API isteklerini Microsoft Entra SPN Belirteci ile yetkilendirme
Livy API'si de dahil olmak üzere Fabric API'lerle çalışmak için önce bir Microsoft Entra uygulaması oluşturmanız, gizli dizi oluşturmanız ve kodunuzda bu gizli diziyi kullanmanız gerekir. Uygulamanızın Fabric karşı API çağrıları gerçekleştirmek için yeterli şekilde kaydedilmesi ve yapılandırılması gerekir. Daha fazla bilgi için bkz.
Uygulama kaydını oluşturduktan sonra bir istemci gizli anahtarı oluşturun.
İstemci sırrını oluştururken değeri kopyaladığınızdan emin olun. Kodda buna daha sonra ihtiyacınız olacak ve sır bir daha görülemez. Kodunuzda gizli anahtarın yanı sıra uygulama (istemci) kimliği ve dizin (kiracı kimliği) de gerekir.
Ardından, hizmet sorumlusunu çalışma alanınıza ekleyin.
Uygulama (istemci) kimliğini veya adını kullanarak Microsoft Entra uygulamasını arayın, çalışma alanına ekleyin ve hizmet sorumlusunun Katkıda Bulunan izinlerine sahip olduğundan emin olun.
Livy API isteklerini Entra uygulama belirteci ile yetkilendirme
Livy API'si de dahil olmak üzere Fabric API'lerle çalışmak için önce bir Microsoft Entra uygulaması oluşturmanız ve belirteç almanız gerekir. Uygulamanızın Fabric karşı API çağrıları gerçekleştirmek için yeterli şekilde kaydedilmesi ve yapılandırılması gerekir. Daha fazla bilgi için bkz. Microsoft kimlik platformu ile bir uygulamayı kaydetme.
Livy API işlerini yürütmek için aşağıdaki Microsoft Entra kapsam izinleri gereklidir:
Gerekli kapsamlar
| Scope | Açıklama |
|---|---|
Lakehouse.Execute.All |
Fabric lakehouselerde işlemleri yürütün. |
Lakehouse.Read.All |
Lakehouse meta verilerini okuyun. |
Code.AccessFabric.All |
Fabric'e erişim tokenları almanızı sağlıyor. Tüm Livy API işlemleri için gereklidir. |
Code.AccessStorage.All |
OneLake ve Azure depolama alanına erişim belirteçleri almaya izin verir. Lakehouse'larda veri okuma ve yazma işlemleri için gereklidir. |
İsteğe bağlı Code.* kapsamları
Bu kapsamları yalnızca Spark işlerinizin çalışma zamanında ilgili Azure hizmetlerine erişmesi gerekiyorsa ekleyin.
| Scope | Açıklama | Ne zaman kullanılır? |
|---|---|---|
Code.AccessAzureKeyvault.All |
Azure Key Vault için erişim belirteçlerine erişim izni verir. | Spark kodunuz Azure Key Vault'tan anahtarları, gizli bilgileri veya sertifikaları alır. |
Code.AccessAzureDataLake.All |
1. Nesil Azure Data Lake Storage erişim belirteçlerinin alınabilmesini sağlar. | Spark kodunuz 1. Nesil Azure Data Lake Storage hesaplarından okur veya bu hesaplara yazar. |
Code.AccessAzureDataExplorer.All |
Azure Veri Gezgini (Kusto) için erişim belirteçleri almaya izin verir. | Spark kodunuz Azure Veri Gezgini kümelere veri sorgular veya veri alır. |
Code.AccessSQL.All |
Azure SQL erişim belirteçlerinin alınabilmesini sağlar. | Spark kodunuzun Azure SQL veritabanlarına bağlanması gerekir. |
Uygulamanızı kaydederken hem Uygulama (istemci) kimliğine hem de Dizin (kiracı) kimliğine ihtiyacınız vardır.
Livy API çağrısını yapan kimliği doğrulanmış kullanıcının, hem API'nin hem de veri kaynağı öğelerinin bulunduğu çalışma alanında Katkıda Bulunan rolünde olması gerekir. Daha fazla bilgi için bkz. Kullanıcılara çalışma alanlarına erişim verme.
Livy API'sinin Code.* kapsamlarını anlama
Spark işleriniz Livy API aracılığıyla çalıştırıldığında kapsamlar, Code.* Spark Çalışma Zamanı'nın kimliği doğrulanmış kullanıcı adına hangi dış hizmetlere erişebileceğini denetler. İki gereklidir; geri kalanı, iş yükünüze bağlı olarak isteğe bağlıdır.
Gerekli Kod.* kapsamları
| Scope | Açıklama |
|---|---|
Code.AccessFabric.All |
Fabric'e erişim tokenları almanızı sağlıyor. Tüm Livy API işlemleri için gereklidir. |
Code.AccessStorage.All |
OneLake ve Azure depolama alanına erişim belirteçleri almaya izin verir. Lakehouse'larda veri okuma ve yazma işlemleri için gereklidir. |
İsteğe bağlı Code.* kapsamları
Bu kapsamları yalnızca Spark işlerinizin çalışma zamanında ilgili Azure hizmetlerine erişmesi gerekiyorsa ekleyin.
| Scope | Açıklama | Ne zaman kullanılır? |
|---|---|---|
Code.AccessAzureKeyvault.All |
Azure Key Vault için erişim belirteçlerine erişim izni verir. | Spark kodunuz Azure Key Vault'tan anahtarları, gizli bilgileri veya sertifikaları alır. |
Code.AccessAzureDataLake.All |
1. Nesil Azure Data Lake Storage erişim belirteçlerinin alınabilmesini sağlar. | Spark kodunuz 1. Nesil Azure Data Lake Storage hesaplarından okur veya bu hesaplara yazar. |
Code.AccessAzureDataExplorer.All |
Azure Veri Gezgini (Kusto) için erişim belirteçleri almaya izin verir. | Spark kodunuz Azure Veri Gezgini kümelere veri sorgular veya veri alır. |
Code.AccessSQL.All |
Azure SQL erişim belirteçlerinin alınabilmesini sağlar. | Spark kodunuzun Azure SQL veritabanlarına bağlanması gerekir. |
Notlar
Lakehouse.Execute.All ve Lakehouse.Read.All kapsamları da gereklidir ancak Code.* ailesinin bir parçası değildir. Bunlar, sırasıyla Fabric lakehouse'larda işlem yürütme ve meta verileri okuma izni verir.
Fabric Livy API uç noktasını bulma
Livy uç noktasına erişmek için bir göl evi öğesi gereklidir. Göl evi oluşturulduktan sonra, Livy API uç noktası ayarlar panelinde bulunabilir.
Livy API'sinin uç noktası şu deseni izler:
https://api.fabric.microsoft.com/v1/workspaces/><ws_id>/lakehouses/<lakehouse_id>/livyapi/versions/2023-12-01/
URL, seçtiğinize bağlı olarak <oturumlar> veya <toplu işlemler> ile eklenir.
Livy API Swagger dosyalarını indirme
Livy API'sinin tam swagger dosyalarına buradan ulaşabilirsiniz.
- Livy API Swagger JSON
- Livy API Swagger YAML
Yüksek eşzamanlılık oturumları
Yüksek eşzamanlılık (HC) desteği, istemcilerin yüksek eşzamanlılık oturumları olarak adlandırılan birden çok bağımsız yürütme bağlamı almasına olanak tanıyarak eşzamanlı Spark yürütmesine olanak tanır.
Her HC oturumu, Spark REPL (Okuma-Değerlendir-Yazdır Döngüsü) ile eşleşen mantıksal bir yürütme bağlamını temsil eder. Farklı HC oturumları altında gönderilen Spark deyimleri eşzamanlı olarak yürütülebilir.
Bu, aşağıdakileri sağlar:
- HC oturumları arasında paralel yürütme
- Tahmin edilebilir kaynak kullanımı
- Eşzamanlı istekler arasında yalıtım
- İstek başına yeni oturum oluşturmaya kıyasla daha düşük ek yük
Tüm istekler için tek bir oturum kullanılması, komutların sırayla yürütülmesine neden olur. Her istek için yeni bir oturum oluşturmak gereksiz ek yüke ve kaynak az kullanımına neden oldu.
Notlar
HC oturumu alımı idempotent değildir. Aynı sessionTag ile yapılan birden çok alma isteği, aynı temel Livy oturumu tarafından yedeklenmiş olsa bile, farklı HC oturum kimlikleri döndürür.
Örnek kod içeren adım adım izlenecek yol için bkz. Fabric Yüksek Eşzamanlılık Oturumları için Livy API'sini kullanmaya başlama. Kavramsal genel bakış için Fabric Livy API
Livy API işlerini gönderin
Livy API'sinin kurulumu tamamlandıktan sonra toplu iş veya oturum işlerini göndermeyi seçebilirsiniz.
Fabric Ortamları ile Entegrasyon
Varsayılan olarak, bu Livy API oturumu çalışma alanı için varsayılan başlangıç havuzunda çalışır. Alternatif olarak, Fabric Environments Create, konfigürasyon ve Fabric'teki bir ortamı kullanarak Livy API oturumunun bu Spark işleri için kullandığı Spark havuzunu özelleştirebilirsiniz.
Livy Spark oturumunda Fabric Ortamı kullanmak için json dosyasını bu yükü içerecek şekilde güncelleştirin.
create_livy_session = requests.post(livy_base_url, headers = headers, json={
"conf" : {
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID""}"}
}
)
Livy Spark toplu oturumunda Fabric Ortamı kullanmak için json yükünü burada gösterildiği gibi güncelleştirin:
payload_data = {
"name":"livybatchdemo_with"+ newlakehouseName,
"file":"abfss://YourABFSPathToYourPayload.py",
"conf": {
"spark.targetLakehouse": "Fabric_LakehouseID",
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID"\"}" # Replace "EnvironmentID" with your environment ID, or remove this line to use starter pools instead of an environment
}
}
İstek geçmişini nasıl izlersiniz
Önceki Livy API gönderimlerinizi görmek ve tüm gönderim hatalarında hata ayıklamak için İzleme Merkezi'ni kullanabilirsiniz.
İlgili içerik
- Apache Livy REST API belgeleri
- Fabric Kapasiteniz için Yönetici ayarlarıyla kullanıma başlayın
- Fabric'te Apache Spark çalışma alanı yönetimi ayarları
- Microsoft kimlik platformunda bir uygulama kaydetme
- Microsoft Entra izinler ve onayına genel bakış
- Fabric REST API Kapsamları
- Apache Spark izlemeye genel bakış
- Apache Spark uygulama ayrıntısı