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.
Fabric defterlerinde göl evi öğelerini programlı olarak yönetmek için kullanılırnotebookutils.lakehouse. Göl evlerini doğrudan defter kodundan oluşturabilir, alabilir, güncelleyebilir, silebilir ve listeleyebilirsiniz.
Lakehouse yardımcı programları Python, PySpark, Scala ve R notebooklarda mevcuttur. Bu sayfadaki örneklerde birincil dil olarak Python kullanılır ve temel yöntemler için Scala ve R eşdeğerleri gösterilir.
Uyarı
Lakehouse altyapıları yalnızca Fabric'te desteklenmektedir. Bunlar Azure Synapse Analytics'te kullanılamaz.
Kullanılabilir yöntemleri ve açıklamalarını görüntülemek için öğesini çağırın notebookutils.lakehouse.help().
Yöntemlere genel bakış
Aşağıdaki tabloda kullanılabilir yöntemler özetlemektedir:
| Yöntem | Açıklama | İadeler |
|---|---|---|
create |
Yeni bir göl evi yaratıyor, isteğe bağlı şema desteğiyle. |
Artifact özelliklerine sahip nesne: id, displayName, descriptionve workspaceId. |
get |
Bir göl evini adıyla alır. |
Artifact temel meta verileri olan nesne. |
getWithProperties |
Genişletilmiş mülklere sahip bir göl evi geri alır. |
Artifact nesnesinde genişletilmiş meta veriler ve bağlantı ayrıntıları bulunur. |
update |
Mevcut bir göl evi adını veya açıklamasını günceller. | Nesne güncelleştirildi Artifact . |
delete |
Bir göl evini siler. |
Boolean. Başarılıysa True, değilse False. |
list |
Bir çalışma alanında göl evlerini listeler. |
Artifact nesne dizisi. |
listTables |
Bir göl evindeki masaları listeliyor. |
Table nesne dizisi. |
loadTable |
Bir göl evi masası için yük operasyonunu başlatır. |
Boolean. Başarılıysa True, değilse False. |
# Method signatures
notebookutils.lakehouse.create(name: String, description: String = "", definition: Object = {}, workspaceId: String = ""): Artifact
notebookutils.lakehouse.get(name: String = "", workspaceId: String = ""): Artifact
notebookutils.lakehouse.getWithProperties(name: String, workspaceId: String = ""): Artifact
notebookutils.lakehouse.update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact
notebookutils.lakehouse.delete(name: String, workspaceId: String = ""): Boolean
notebookutils.lakehouse.list(workspaceId: String = "", maxResults: Int = 1000): Array[Artifact]
notebookutils.lakehouse.listTables(lakehouse: String = "", workspaceId: String = "", maxResults: Int = 1000): Array[Table]
notebookutils.lakehouse.loadTable(loadOption: Object, table: String, lakehouse: String = "", workspaceId: String = ""): Boolean
Tüm yöntemler isteğe bağlı workspaceId bir parametre kabul eder. Bir şey atlandığında, işlem mevcut çalışma alanını hedefler. Çalışma alanları arası erişim için bir çalışma alanı kimliği belirtin. Hedef çalışma alanında uygun izinlere sahip olmanız gerekir.
Göl evi oluşturma
Mevcut çalışma alanında veya belirli bir çalışma alanında yeni bir göl evi oluşturmak için kullanılır notebookutils.lakehouse.create() . Lakehouse adları bir çalışma alanında benzersiz olmalıdır.
Parametreler
| Parametre | Türü | Zorunlu | Açıklama |
|---|---|---|---|
name |
Dize | Evet | Göl evinin gösterim adı. Çalışma alanı içinde benzersiz olmalıdır. |
description |
Dize | Hayır | Göl evi için bir metin açıklaması. |
definition |
Nesne | Hayır | Göl evi için yapılandırılmış tanımlı nesne. Şema desteğini etkinleştirmek için dilinizin veya eşdeğer nesne formunu geçirin {"enableSchemas": True} . |
workspaceId |
Dize | Hayır | Hedef çalışma alanı kimliği. Varsayılan olarak geçerli çalışma alanı seçilir. |
Temel bir Lakehouse oluşturma
artifact = notebookutils.lakehouse.create("lakehouse_name", "Description of the Lakehouse")
Uyarı
Not defteri diliniz için, Python sözlüğü, Scala definition veya R listesi gibi yapılandırılmış bir nesne olarak Map kullanabilirsiniz.
Şema desteğiyle bir göl evi oluşturun
Şema desteğini etkinleştirdiğinizde, lakehouse tabloları düzenlemek için birden fazla şemayı destekler.
{"enableSchemas": True} öğesini definition parametresi olarak geçirin.
artifact = notebookutils.lakehouse.create(
"SalesAnalyticsWithSchema",
"Lakehouse with schema support for multi-tenant data",
{"enableSchemas": True}
)
print(f"Created lakehouse with schema support: {artifact.displayName}")
print(f"Lakehouse ID: {artifact.id}")
Farklı bir çalışma alanında Lakehouse oluşturma
workspace_id = "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb"
artifact = notebookutils.lakehouse.create(
name="SharedAnalytics",
description="Shared analytics lakehouse",
workspaceId=workspace_id
)
print(f"Created lakehouse in workspace: {workspace_id}")
Toplu göl evleri oluşturun
Farklı ekipler veya projeler için ortamlar sağlamak amacıyla döngüde birden fazla göl evi oluşturabilirsiniz:
departments = ["Sales", "Marketing", "Finance", "Operations"]
created_lakehouses = []
for dept in departments:
lakehouse = notebookutils.lakehouse.create(
name=f"{dept}Analytics",
description=f"Analytics lakehouse for {dept} department"
)
created_lakehouses.append(lakehouse)
print(f"Created: {lakehouse.displayName}")
print(f"Created {len(created_lakehouses)} lakehouses")
Tavsiye
Göl evinin amacını yansıtan tanımlayıcı isimler kullanın. Ortam ayrımı için dev, test ve prod gibi adlandırma kurallarını düşünün.
Bir göl evi al
Bir göl evini isimle almak için kullanılır notebookutils.lakehouse.get() . İsmi çıkarırsanız, NotebookUtils mevcut varsayılan göl evini kullanır.
Parametreler
| Parametre | Türü | Zorunlu | Açıklama |
|---|---|---|---|
name |
Dize | Hayır | Geri alınacak göl evinin adı. Göz kamaştırıldığında varsayılan olarak mevcut göl evine geçer. |
workspaceId |
Dize | Hayır | Hedef çalışma alanı kimliği. Varsayılan olarak geçerli çalışma alanı seçilir. |
artifact = notebookutils.lakehouse.get("lakehouse_name", "optional_workspace_id")
print(f"Lakehouse Name: {artifact.displayName}")
print(f"Lakehouse ID: {artifact.id}")
print(f"Workspace ID: {artifact.workspaceId}")
Genişletilmiş mülklere sahip bir göl evi satın alın
Bağlantı dizeleri veya yapılandırma ayrıntıları gibi temel meta verilerin ötesinde genişletilmiş özelliklere ihtiyacınız olduğunda kullanın notebookutils.lakehouse.getWithProperties() :
artifact = notebookutils.lakehouse.getWithProperties("lakehouse_name", "optional_workspace_id")
print(f"Lakehouse: {artifact.displayName}")
print(f"Properties: {artifact.properties}")
Başka bir çalışma alanından bir göl evi alın
workspace_id = "bbbbbbbb-2222-3333-4444-cccccccccccc"
artifact = notebookutils.lakehouse.get("SharedData", workspaceId=workspace_id)
print(f"Retrieved: {artifact.displayName} from workspace {workspace_id}")
Göl evi güncelleştirme
Mevcut bir göl evinin adını veya tanımını güncellemek için kullanın notebookutils.lakehouse.update() .
Önemli
Bir göl evinin adını değiştirmek, defterler, boru hatları veya orijinal isme referans veren kısayollar gibi aşağı akış bağımlılıklarını kırabilir. Yeniden adlandırmaları uygulamaya başlamadan önce ekibinizle koordine edin.
Parametreler
| Parametre | Türü | Zorunlu | Açıklama |
|---|---|---|---|
name |
Dize | Evet | Göl evinin mevcut adı. |
newName |
Dize | Evet | Göl evi için yeni isim. |
description |
Dize | Hayır | Açıklama güncelleştirildi. |
workspaceId |
Dize | Hayır | Hedef çalışma alanı kimliği. Varsayılan olarak geçerli çalışma alanı seçilir. |
updated_artifact = notebookutils.lakehouse.update(
"old_name",
"new_name",
"Updated description",
"optional_workspace_id"
)
print(f"Updated lakehouse: {updated_artifact.displayName}")
Bir veri göl evini sil
Bir göl evini çalışma alanından kalıcı olarak çıkarmak için kullanılır notebookutils.lakehouse.delete() .
Dikkat
Silme işlemi kalıcıdır ve geri alınamaz. Silmeden önce lakehouse adını doğrulayın ve ona referans veren bağlı defterler, boru hatları veya iş akışları olup olmadığını kontrol edin.
Parametreler
| Parametre | Türü | Zorunlu | Açıklama |
|---|---|---|---|
name |
Dize | Evet | Sililmesi gereken göl evinin adı. |
workspaceId |
Dize | Hayır | Hedef çalışma alanı kimliği. Varsayılan olarak geçerli çalışma alanı seçilir. |
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")
if is_deleted:
print("Lakehouse deleted successfully")
else:
print("Failed to delete lakehouse")
Liste göl evleri
Bir çalışma alanında göl evlerini saymak için kullanılır notebookutils.lakehouse.list() .
Parametreler
| Parametre | Türü | Zorunlu | Açıklama |
|---|---|---|---|
workspaceId |
Dize | Hayır | Hedef çalışma alanı kimliği. Varsayılan olarak geçerli çalışma alanı seçilir. |
maxResults |
Int | Hayır | Döndürülecek en fazla öğe sayısı. Varsayılan değer 1000'dir. |
artifacts_list = notebookutils.lakehouse.list("optional_workspace_id")
print(f"Found {len(artifacts_list)} lakehouses:")
for lh in artifacts_list:
print(f" - {lh.displayName} (ID: {lh.id})")
Uyarı
Scala'da list yöntemi, diğer not defteri dilleriyle maxResults ile aynı şekilde desteklenir. Örneğin, kullanın list(workspaceId, maxResults).
Liste tabloları
Bir göl evindeki tüm masaları listelemek için kullanılır notebookutils.lakehouse.listTables() .
Parametreler
| Parametre | Türü | Zorunlu | Açıklama |
|---|---|---|---|
lakehouse |
Dize | Hayır | Göl evinin adı. Göz kamaştırıldığında varsayılan olarak mevcut göl evine geçer. |
workspaceId |
Dize | Hayır | Hedef çalışma alanı kimliği. Varsayılan olarak geçerli çalışma alanı seçilir. |
maxResults |
Int | Hayır | Döndürülecek en fazla öğe sayısı. Varsayılan değer 1000'dir. |
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")
Tabloyu yükleme
Dosyalardan veriyi bir göl evi tablosuna yüklemek için kullanılır notebookutils.lakehouse.loadTable() .
Parametreler
| Parametre | Türü | Zorunlu | Açıklama |
|---|---|---|---|
loadOption |
Nesne | Evet | Dosya yolunu, modu, biçimi ve diğer yükleme ayarlarını belirten yapılandırılmış yükleme seçenekleri. |
table |
Dize | Evet | Hedef tablonun adı. |
lakehouse |
Dize | Hayır | Göl evinin adı. Göz kamaştırıldığında varsayılan olarak mevcut göl evine geçer. |
workspaceId |
Dize | Hayır | Hedef çalışma alanı kimliği. Varsayılan olarak geçerli çalışma alanı seçilir. |
loadOption nesnesi aşağıdaki anahtarları destekler:
| Anahtar | Açıklama |
|---|---|
relativePath |
Göl evi köküne göre kaynak dosyaya giden yol (örneğin, Files/myFile.csv). |
pathType |
Yol türü. Tek bir dosya için kullanın File . |
mode |
Overwrite veya Append gibi yükleme modu. |
recursive |
Alt klasörlere dosya eklemek için True olarak ayarlayın. |
formatOptions |
Biçime özgü ayarlar olarak format, header ve delimiter gibi öğeleri içeren bir sözlük. |
Example:
result = notebookutils.lakehouse.loadTable(
{
"relativePath": "Files/myFile.csv",
"pathType": "File",
"mode": "Overwrite",
"recursive": False,
"formatOptions": {
"format": "Csv",
"header": True,
"delimiter": ","
}
}, "table_name", "lakehouse_name", "optional_workspace_id")
if result:
print("Table loaded successfully")
else:
print("Table load failed")