Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użyj do notebookutils.lakehouse programowego zarządzania przedmiotami nad domem nad jeziorem w notatnikach Fabric. Możesz tworzyć, pobierać, aktualizować, usuwać i wystawiać domy nad jeziorem bezpośrednio z kodu notatnika.
Narzędzia lakehouse są dostępne w notatnikach Python, PySpark, Scala i R. Przykłady na tej stronie używają języka Python jako języka podstawowego, a odpowiedniki Języka Scala i R są wyświetlane dla kluczowych metod.
Uwaga / Notatka
Instalacje użyteczności publicznej Lakehouse są obsługiwane wyłącznie w Fabric. Nie są one dostępne w usłudze Azure Synapse Analytics.
Aby wyświetlić dostępne metody i ich opisy, wywołaj metodę notebookutils.lakehouse.help().
Omówienie metod
Poniższa tabela zawiera podsumowanie dostępnych metod:
| Metoda | Opis | Zwroty |
|---|---|---|
create |
Tworzy nowy domek nad jeziorem z opcjonalnym wsparciem dla schematów. |
Artifactobiekt z właściwościami: id, , displayNamedescriptioni workspaceId. |
get |
Odzyskuje domek nad jeziorem z nazwy. |
Artifact obiekt z podstawowymi metadanymi. |
getWithProperties |
Odzyskuje domek nad jeziorem z rozległymi nieruchomościami. |
Artifact obiekt z rozszerzonymi metadanymi i szczegółami połączenia. |
update |
Aktualizuje istniejącą nazwę lub opis domku nad jeziorem. | Zaktualizowany Artifact obiekt. |
delete |
Usuwa domek nad jeziorem. |
Boolean. Wartość True w przypadku powodzenia; w przeciwnym razie wartość False. |
list |
Wystawia domy nad jeziorem w miejscu pracy. | Tablica Artifact obiektów. |
listTables |
Wymienia stoliki w domku nad jeziorem. | Tablica Table obiektów. |
loadTable |
Uruchamia operację ładowania stołu przy jeziorze. |
Boolean. Wartość True w przypadku powodzenia; w przeciwnym razie wartość 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
Wszystkie metody akceptują opcjonalny workspaceId parametr. Pominięcie powoduje, że operacja dotyczy bieżącego obszaru roboczego. Określ identyfikator obszaru roboczego dla dostępu między obszarami roboczymi. Musisz mieć odpowiednie uprawnienia w docelowym obszarze roboczym.
Utwórz dom nad jeziorem
Użyj notebookutils.lakehouse.create() do stworzenia nowego domku nad jeziorem w obecnej przestrzeni roboczej lub w określonej przestrzeni. Nazwy usługi Lakehouse muszą być unikatowe w obszarze roboczym.
Parametry
| Parametr | Typ | Wymagane | Opis |
|---|---|---|---|
name |
Sznurek | Yes | Nazwa wystawowa domu nad jeziorem. Musi być unikatowa w obszarze roboczym. |
description |
Sznurek | Nie. | Opis tekstowy domu nad jeziorem. |
definition |
Obiekt | Nie. | Obiekt strukturalnej definicji dla domku nad jeziorem. Przekaż {"enableSchemas": True} lub równoważną postać obiektu dla twojego języka, aby włączyć obsługę schematu. |
workspaceId |
Sznurek | Nie. | Identyfikator docelowego obszaru roboczego. Domyślnie jest to bieżący obszar roboczy. |
Tworzenie podstawowej usługi Lakehouse
artifact = notebookutils.lakehouse.create("lakehouse_name", "Description of the Lakehouse")
Uwaga / Notatka
Przekaż definition jako obiekt ustrukturyzowany dla języka notesu, taki jak słownik języka Python, scala Maplub lista języka R.
Stwórz domek nad jeziorem z wsparciem schematów
Po włączeniu wsparcia dla schematów, Lakehouse obsługuje wiele schematów do organizowania tabel. Przekaż {"enableSchemas": True} jako definition parametr:
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}")
Tworzenie usługi Lakehouse w innym obszarze roboczym
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}")
Grupowo tworzą domy nad jeziorem
Możesz tworzyć wiele domów nad jeziorem w pętli, aby tworzyć środowiska dla różnych zespołów lub projektów:
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
Używaj opisowych nazw, które odzwierciedlają cel domku nad jeziorem. Rozważ konwencje nazewnictwa dla rozdzielania środowisk, takie jak dev, test i prod.
Kup domek nad jeziorem
Używa się notebookutils.lakehouse.get() , by odzyskać domek nad jeziorem z nazwy. Jeśli pominiesz nazwę, NotebookUtils używa domyślnego jeziora (lakehouse).
Parametry
| Parametr | Typ | Wymagane | Opis |
|---|---|---|---|
name |
Sznurek | Nie. | Nazwa domku nad jeziorem do odzyskania. Domyślnie przyjmuje obecny domek nad jeziorem, gdy zostanie pomijany. |
workspaceId |
Sznurek | Nie. | Identyfikator docelowego obszaru roboczego. Domyślnie jest to bieżący obszar roboczy. |
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}")
Kup domek nad jeziorem z rozbudowanymi nieruchomościami
Użyj notebookutils.lakehouse.getWithProperties() polecenia , jeśli potrzebujesz właściwości rozszerzonych poza podstawowe metadane, takie jak parametry połączenia lub szczegóły konfiguracji:
artifact = notebookutils.lakehouse.getWithProperties("lakehouse_name", "optional_workspace_id")
print(f"Lakehouse: {artifact.displayName}")
print(f"Properties: {artifact.properties}")
Kup domek nad jeziorem z innego miejsca pracy
workspace_id = "bbbbbbbb-2222-3333-4444-cccccccccccc"
artifact = notebookutils.lakehouse.get("SharedData", workspaceId=workspace_id)
print(f"Retrieved: {artifact.displayName} from workspace {workspace_id}")
Aktualizowanie jeziora
Użyj notebookutils.lakehouse.update() do aktualizacji nazwy lub opisu istniejącego domku nad jeziorem.
Ważna
Zmiana nazwy domku nad jeziorem może przełamać zależności w dalszej fazie rzeki, takie jak notatniki, rurociągi czy skróty odwołujące się do oryginalnej nazwy. Przed ich zastosowaniem należy koordynować zmiany nazw z zespołem.
Parametry
| Parametr | Typ | Wymagane | Opis |
|---|---|---|---|
name |
Sznurek | Yes | Obecna nazwa domku nad jeziorem. |
newName |
Sznurek | Yes | Nowa nazwa dla domku nad jeziorem. |
description |
Sznurek | Nie. | Zaktualizowany opis. |
workspaceId |
Sznurek | Nie. | Identyfikator docelowego obszaru roboczego. Domyślnie jest to bieżący obszar roboczy. |
updated_artifact = notebookutils.lakehouse.update(
"old_name",
"new_name",
"Updated description",
"optional_workspace_id"
)
print(f"Updated lakehouse: {updated_artifact.displayName}")
Usuń lakehouse
Służy do notebookutils.lakehouse.delete() trwałego usunięcia domku nad jeziorem z miejsca pracy.
Ostrzeżenie
Usuwanie jest trwałe i nie można go cofnąć. Sprawdź nazwę lakehouse przed usunięciem i sprawdź, czy nie ma zależnych notatników, potoków lub workflow, które się do niej odwołują.
Parametry
| Parametr | Typ | Wymagane | Opis |
|---|---|---|---|
name |
Sznurek | Yes | Nazwę domu nad jeziorem do usunięcia. |
workspaceId |
Sznurek | Nie. | Identyfikator docelowego obszaru roboczego. Domyślnie jest to bieżący obszar roboczy. |
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")
if is_deleted:
print("Lakehouse deleted successfully")
else:
print("Failed to delete lakehouse")
Lista domów nad jeziorem
Używaj notebookutils.lakehouse.list() do wyliczania domów nad jeziorem w miejscu pracy.
Parametry
| Parametr | Typ | Wymagane | Opis |
|---|---|---|---|
workspaceId |
Sznurek | Nie. | Identyfikator docelowego obszaru roboczego. Domyślnie jest to bieżący obszar roboczy. |
maxResults |
int | Nie. | Maksymalna liczba elementów do zwrócenia. Domyślnie ustawia się na 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})")
Uwaga / Notatka
W języku Scala list metoda obsługuje maxResults ten sam sposób co inne języki notesu. Użyj na przykład nazwy list(workspaceId, maxResults).
Lista tabel
Używam notebookutils.lakehouse.listTables() do wypisywania wszystkich stołów w domku nad jeziorem.
Parametry
| Parametr | Typ | Wymagane | Opis |
|---|---|---|---|
lakehouse |
Sznurek | Nie. | Nazwa domku nad jeziorem. Domyślnie przyjmuje obecny domek nad jeziorem, gdy zostanie pomijany. |
workspaceId |
Sznurek | Nie. | Identyfikator docelowego obszaru roboczego. Domyślnie jest to bieżący obszar roboczy. |
maxResults |
int | Nie. | Maksymalna liczba elementów do zwrócenia. Domyślnie ustawia się na 1000. |
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")
Ładowanie tabeli
Używam do notebookutils.lakehouse.loadTable() ładowania danych z plików do tabeli Lakehouse.
Parametry
| Parametr | Typ | Wymagane | Opis |
|---|---|---|---|
loadOption |
Obiekt | Yes | Opcje ładowania strukturalnego określające ścieżkę pliku, tryb, format i inne ustawienia ładowania. |
table |
Sznurek | Yes | Nazwa tabeli docelowej. |
lakehouse |
Sznurek | Nie. | Nazwa domku nad jeziorem. Domyślnie przyjmuje obecny domek nad jeziorem, gdy zostanie pomijany. |
workspaceId |
Sznurek | Nie. | Identyfikator docelowego obszaru roboczego. Domyślnie jest to bieżący obszar roboczy. |
Obiekt loadOption obsługuje następujące klucze:
| Klucz | Opis |
|---|---|
relativePath |
Ścieżka do pliku źródłowego względem korzenia jeziora (na przykład Files/myFile.csv). |
pathType |
Typ ścieżki. Użyj File dla pojedynczego pliku. |
mode |
Tryb ładowania, taki jak Overwrite lub Append. |
recursive |
Ustaw wartość na True, aby dołączyć pliki do podfolderów. |
formatOptions |
Słownik z ustawieniami specyficznymi dla formatu, takimi jak format, headeri 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")