Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Digunakan notebookutils.lakehouse untuk mengelola item lakehouse secara programatik di Fabric notebooks. Anda dapat membuat, mendapatkan, memperbarui, menghapus, dan mencantumkan lakehouse langsung dari kode notebook.
Utilitas lakehouse tersedia dalam notebook Python, PySpark, Scala, dan R. Contoh di halaman ini menggunakan Python sebagai bahasa utama, dengan setara Scala dan R yang ditunjukkan untuk metode kunci.
Nota
Utilitas Lakehouse hanya didukung di Fabric. Mereka tidak tersedia di Azure Synapse Analytics.
Untuk menampilkan metode yang tersedia dan deskripsinya, panggil notebookutils.lakehouse.help().
Gambaran umum metode
Tabel berikut ini meringkas metode yang tersedia:
| Metode | Deskripsi | Pengembalian Barang |
|---|---|---|
create |
Membuat rumah danau baru, dengan dukungan skema opsional. |
Artifact objek dengan properti: id, displayName, description, dan workspaceId. |
get |
Mengambil sebuah rumah danau berdasarkan nama. |
Artifact objek dengan metadata dasar. |
getWithProperties |
Mengambil rumah danau dengan properti yang diperluas. |
Artifact objek dengan metadata dan detail koneksi yang diperluas. |
update |
Memperbarui nama atau deskripsi rumah danau yang sudah ada. | Diperbarui objek Artifact . |
delete |
Menghapus sebuah rumah danau. |
Boolean.
True jika berhasil; jika tidak, False. |
list |
Menampilkan rumah danau di ruang kerja. | Array dari objek Artifact. |
listTables |
Menampilkan meja di rumah danau. | Array dari objek Table. |
loadTable |
Memulai operasi beban untuk meja lakehouse. |
Boolean.
True jika berhasil; jika tidak, 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
Semua metode menerima parameter opsional workspaceId . Saat dihilangkan, operasi menargetkan ruang kerja saat ini. Tentukan ID ruang kerja untuk akses lintas ruang kerja. Anda harus memiliki izin yang sesuai di ruang kerja target.
Membuat rumah tepi danau
Gunakan notebookutils.lakehouse.create() untuk membuat lakehouse baru di workspace saat ini atau workspace yang ditentukan. Nama Lakehouse harus unik dalam ruang kerja.
Parameter-parameternya
| Parameter | Tipe | Required | Deskripsi |
|---|---|---|---|
name |
string | Yes | Nama tampilan rumah danau. Harus unik di dalam ruang kerja. |
description |
string | No | Deskripsi teks untuk rumah danau. |
definition |
Objek | No | Objek definisi terstruktur untuk rumah danau. Teruskan {"enableSchemas": True} atau bentuk objek yang setara untuk bahasa Anda untuk mengaktifkan dukungan skema. |
workspaceId |
string | No | ID ruang kerja target. Secara default, mengatur ke ruang kerja yang sedang digunakan. |
Membuat Lakehouse dasar
artifact = notebookutils.lakehouse.create("lakehouse_name", "Description of the Lakehouse")
Nota
Teruskan definition sebagai objek berstruktur untuk bahasa pemrograman pada notebook Anda, contohnya seperti kamus pada Python, Map pada Scala, atau daftar pada R.
Buat lakehouse dengan dukungan skema
Ketika Anda mengaktifkan dukungan skema, lakehouse mendukung beberapa skema untuk mengatur tabel. Teruskan {"enableSchemas": True} sebagai definition parameter:
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}")
Membuat Lakehouse di ruang kerja yang berbeda
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}")
Membuat rumah danau secara batch
Anda dapat membuat beberapa lakehouse dalam satu loop untuk menyediakan lingkungan bagi tim atau proyek yang berbeda:
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")
Tip
Gunakan nama deskriptif yang mencerminkan tujuan rumah danau. Pertimbangkan konvensi penamaan untuk pemisahan lingkungan, seperti dev, test, dan prod.
Dapatkan rumah danau
Gunakan notebookutils.lakehouse.get() untuk mengambil rumah danau berdasarkan nama. Jika Anda menghilangkan nama, NotebookUtils menggunakan lakehouse default saat ini.
Parameter-parameternya
| Parameter | Tipe | Required | Deskripsi |
|---|---|---|---|
name |
string | No | Nama rumah danau yang harus diambil. Default ke lakehouse saat ini jika dihilangkan. |
workspaceId |
string | No | ID ruang kerja target. Secara default, mengatur ke ruang kerja yang sedang digunakan. |
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}")
Dapatkan rumah danau dengan properti yang diperluas
Gunakan notebookutils.lakehouse.getWithProperties() saat Anda memerlukan properti yang diperluas di luar metadata dasar, seperti string koneksi atau detail konfigurasi:
artifact = notebookutils.lakehouse.getWithProperties("lakehouse_name", "optional_workspace_id")
print(f"Lakehouse: {artifact.displayName}")
print(f"Properties: {artifact.properties}")
Dapatkan rumah danau dari ruang kerja lain
workspace_id = "bbbbbbbb-2222-3333-4444-cccccccccccc"
artifact = notebookutils.lakehouse.get("SharedData", workspaceId=workspace_id)
print(f"Retrieved: {artifact.displayName} from workspace {workspace_id}")
Memperbarui lakehouse
Gunakan notebookutils.lakehouse.update() untuk memperbarui nama atau deskripsi rumah danau yang sudah ada.
Penting
Mengganti nama lakehouse dapat memecah ketergantungan hilir seperti notebook, pipeline, atau shortcut yang merujuk pada nama asli. Koordinasikan ganti nama dengan tim Anda sebelum menerapkannya.
Parameter-parameternya
| Parameter | Tipe | Required | Deskripsi |
|---|---|---|---|
name |
string | Yes | Nama rumah danau saat ini. |
newName |
string | Yes | Nama baru untuk rumah danau. |
description |
string | No | Deskripsi yang diperbarui. |
workspaceId |
string | No | ID ruang kerja target. Secara default, mengatur ke ruang kerja yang sedang digunakan. |
updated_artifact = notebookutils.lakehouse.update(
"old_name",
"new_name",
"Updated description",
"optional_workspace_id"
)
print(f"Updated lakehouse: {updated_artifact.displayName}")
Menghapus lakehouse
Gunakan notebookutils.lakehouse.delete() untuk menghapus rumah danau secara permanen dari ruang kerja.
Perhatian
Penghapusan bersifat permanen dan tidak dapat dibatalkan. Verifikasi nama lakehouse sebelum menghapus dan periksa notebook, pipeline, atau workflow yang bergantung.
Parameter-parameternya
| Parameter | Tipe | Required | Deskripsi |
|---|---|---|---|
name |
string | Yes | Nama rumah danau yang akan dihapus. |
workspaceId |
string | No | ID ruang kerja target. Secara default, mengatur ke ruang kerja yang sedang digunakan. |
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")
if is_deleted:
print("Lakehouse deleted successfully")
else:
print("Failed to delete lakehouse")
Daftar rumah danau
Gunakan notebookutils.lakehouse.list() untuk menghitung rumah danau di ruang kerja.
Parameter-parameternya
| Parameter | Tipe | Required | Deskripsi |
|---|---|---|---|
workspaceId |
string | No | ID ruang kerja target. Secara default, mengatur ke ruang kerja yang sedang digunakan. |
maxResults |
Integer | No | Jumlah maksimum item yang akan dikembalikan. Diatur secara default menjadi 1000. |
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})")
Nota
Dalam Scala, metode list mendukung maxResults dengan cara yang sama seperti bahasa notebook lainnya. Misalnya, gunakan list(workspaceId, maxResults).
Daftar tabel
Gunakan notebookutils.lakehouse.listTables() untuk mencantumkan semua meja di sebuah rumah danau.
Parameter-parameternya
| Parameter | Tipe | Required | Deskripsi |
|---|---|---|---|
lakehouse |
string | No | Nama rumah danau. Default ke lakehouse saat ini jika dihilangkan. |
workspaceId |
string | No | ID ruang kerja target. Secara default, mengatur ke ruang kerja yang sedang digunakan. |
maxResults |
Integer | No | Jumlah maksimum item yang akan dikembalikan. Diatur secara default menjadi 1000. |
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")
Muat tabel
Gunakan notebookutils.lakehouse.loadTable() untuk memuat data dari file ke dalam tabel lakehouse.
Parameter-parameternya
| Parameter | Tipe | Required | Deskripsi |
|---|---|---|---|
loadOption |
Objek | Yes | Opsi beban terstruktur yang menentukan jalur file, mode, format, dan pengaturan beban lainnya. |
table |
string | Yes | Nama tabel target. |
lakehouse |
string | No | Nama rumah danau. Default ke lakehouse saat ini jika dihilangkan. |
workspaceId |
string | No | ID ruang kerja target. Secara default, mengatur ke ruang kerja yang sedang digunakan. |
Objek loadOption mendukung kunci berikut:
| Kunci | Deskripsi |
|---|---|
relativePath |
Jalur ke file sumber relatif terhadap root lakehouse (misalnya, Files/myFile.csv). |
pathType |
Jenis jalur. Gunakan File untuk satu file. |
mode |
Mode pemuatan, seperti Overwrite atau Append. |
recursive |
Atur ke True untuk menyertakan file dalam subfolder. |
formatOptions |
Kamus dengan pengaturan khusus format seperti format, , headerdan delimiter. |
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")