Udostępnij za pośrednictwem


Microsoft Spark Utilities (MSSparkUtils) for Fabric

Microsoft Spark Utilities (MSSparkUtils) to wbudowany pakiet ułatwiający łatwe wykonywanie typowych zadań. Narzędzia MSSparkUtils umożliwiają pracę z systemami plików, uzyskiwanie zmiennych środowiskowych, łączenie notesów i pracę z wpisami tajnymi. Pakiet MSSparkUtils jest dostępny w potokach PySpark (Python) Scala, SparkR notebooks i Fabric.

Uwaga

  • Nazwa narzędzia MsSparkUtils została oficjalnie zmieniona na NotebookUtils. Istniejący kod pozostanie zgodny z poprzednimi wersjami i nie spowoduje żadnych zmian powodujących niezgodność. Zdecydowanie zaleca się uaktualnienie do narzędzia notebookutils, aby zapewnić ciągłą obsługę i dostęp do nowych funkcji. Przestrzeń nazw mssparkutils zostanie wycofana w przyszłości.
  • Narzędzia NotebookUtils są przeznaczone do pracy z platformą Spark 3.4 (środowisko uruchomieniowe w wersji 1.2) lub nowszej. Wszystkie nowe funkcje i aktualizacje będą obsługiwane wyłącznie w przypadku przestrzeni nazw notebookutils.

Narzędzia systemu plików

mssparkutils.fs udostępnia narzędzia do pracy z różnymi systemami plików, w tym usługą Azure Data Lake Storage (ADLS) Gen2 i usługą Azure Blob Storage. Upewnij się, że odpowiednio skonfigurowaliśmy dostęp do usług Azure Data Lake Storage Gen2 i Azure Blob Storage .

Uruchom następujące polecenia, aby uzyskać przegląd dostępnych metod:

from notebookutils import mssparkutils
mssparkutils.fs.help()

Wyjście

mssparkutils.fs provides utilities for working with various FileSystems.

Below is overview about the available methods:

cp(from: String, to: String, recurse: Boolean = false): Boolean -> Copies a file or directory, possibly across FileSystems
mv(from: String, to: String, recurse: Boolean = false): Boolean -> Moves a file or directory, possibly across FileSystems
ls(dir: String): Array -> Lists the contents of a directory
mkdirs(dir: String): Boolean -> Creates the given directory if it does not exist, also creating any necessary parent directories
put(file: String, contents: String, overwrite: Boolean = false): Boolean -> Writes the given String out to a file, encoded in UTF-8
head(file: String, maxBytes: int = 1024 * 100): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
append(file: String, content: String, createFileIfNotExists: Boolean): Boolean -> Append the content to a file
rm(dir: String, recurse: Boolean = false): Boolean -> Removes a file or directory
exists(file: String): Boolean -> Check if a file or directory exists
mount(source: String, mountPoint: String, extraConfigs: Map[String, Any]): Boolean -> Mounts the given remote storage directory at the given mount point
unmount(mountPoint: String): Boolean -> Deletes a mount point
mounts(): Array[MountPointInfo] -> Show information about what is mounted
getMountPath(mountPoint: String, scope: String = ""): String -> Gets the local path of the mount point

Use mssparkutils.fs.help("methodName") for more info about a method.

Narzędzie MSSparkUtils współdziała z systemem plików w taki sam sposób jak interfejsy API platformy Spark. Weź na przykład użycie biblioteki mssparkuitls.fs.mkdirs() i usługi Fabric lakehouse:

Użycie Ścieżka względna z katalogu głównego systemu plików HDFS Ścieżka bezwzględna dla systemu plików ABFS Ścieżka bezwzględna dla lokalnego systemu plików w węźle sterownika
Niezdefault lakehouse Nieobsługiwane mssparkutils.fs.mkdirs("abfss://< container_name>@<storage_account_name.dfs.core.windows.net/<> new_dir>") mssparkutils.fs.mkdirs("file:/<new_dir>")
Domyślny lakehouse Katalog w obszarze "Pliki" lub "Tabele": mssparkutils.fs.mkdirs("Files/<new_dir>") mssparkutils.fs.mkdirs("abfss://< container_name>@<storage_account_name.dfs.core.windows.net/<> new_dir>") mssparkutils.fs.mkdirs("file:/<new_dir>")

Lista plików

Aby wyświetlić listę zawartości katalogu, użyj mssparkutils.fs.ls(Ścieżka katalogu)).. Na przykład:

mssparkutils.fs.ls("Files/tmp") # works with the default lakehouse files using relative path 
mssparkutils.fs.ls("abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>")  # based on ABFS file system 
mssparkutils.fs.ls("file:/tmp")  # based on local file system of driver node 

Wyświetlanie właściwości pliku

Ta metoda zwraca właściwości pliku, w tym nazwę pliku, ścieżkę pliku, rozmiar pliku oraz to, czy jest to katalog i plik.

files = mssparkutils.fs.ls('Your directory path')
for file in files:
    print(file.name, file.isDir, file.isFile, file.path, file.size)

Tworzenie nowego katalogu

Ta metoda tworzy dany katalog, jeśli nie istnieje, i tworzy wszelkie niezbędne katalogi nadrzędne.

mssparkutils.fs.mkdirs('new directory name')  
mssparkutils.fs. mkdirs("Files/<new_dir>")  # works with the default lakehouse files using relative path 
mssparkutils.fs.ls("abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<new_dir>")  # based on ABFS file system 
mssparkutils.fs.ls("file:/<new_dir>")  # based on local file system of driver node 

Kopiuj plik

Ta metoda kopiuje plik lub katalog i obsługuje działanie kopiowania w systemach plików.

mssparkutils.fs.cp('source file or directory', 'destination file or directory', True)# Set the third parameter as True to copy all files and directories recursively

Wydajny plik kopiowania

Ta metoda zapewnia szybszy sposób kopiowania lub przenoszenia plików, szczególnie dużych ilości danych.

mssparkutils.fs.fastcp('source file or directory', 'destination file or directory', True)# Set the third parameter as True to copy all files and directories recursively

Podgląd zawartości pliku

Ta metoda zwraca do pierwszych bajtów "maxBytes" danego pliku jako ciąg zakodowany w formacie UTF-8.

mssparkutils.fs.head('file path', maxBytes to read)

Przenieś plik

Ta metoda przenosi plik lub katalog i obsługuje przenoszenie między systemami plików.

mssparkutils.fs.mv('source file or directory', 'destination directory', True) # Set the last parameter as True to firstly create the parent directory if it does not exist
mssparkutils.fs.mv('source file or directory', 'destination directory', True, True) # Set the third parameter to True to firstly create the parent directory if it does not exist. Set the last parameter to True to overwrite the updates.

Zapisywanie pliku

Ta metoda zapisuje podany ciąg w pliku zakodowanym w formacie UTF-8.

mssparkutils.fs.put("file path", "content to write", True) # Set the last parameter as True to overwrite the file if it existed already

Dołączanie zawartości do pliku

Ta metoda dołącza dany ciąg do pliku zakodowanego w formacie UTF-8.

mssparkutils.fs.append("file path", "content to append", True) # Set the last parameter as True to create the file if it does not exist

Usuwanie pliku lub katalogu

Ta metoda usuwa plik lub katalog.

mssparkutils.fs.rm('file path', True) # Set the last parameter as True to remove all files and directories recursively

Instalowanie/odinstalowywanie katalogu

Aby uzyskać więcej informacji na temat szczegółowego użycia, zobacz Instalowanie i odinstalowywanie plików.

Narzędzia notesu

Użyj narzędzi notesu MSSparkUtils, aby uruchomić notes lub zamknąć notes z wartością. Uruchom następujące polecenie, aby uzyskać przegląd dostępnych metod:

mssparkutils.notebook.help()

Wyjście:


exit(value: String): void -> This method lets you exit a notebook with a value.
run(path: String, timeoutSeconds: int, arguments: Map): String -> This method runs a notebook and returns its exit value.

Uwaga

Narzędzia notesu nie mają zastosowania do definicji zadań platformy Apache Spark (SJD).

Odwołanie do notesu

Ta metoda odwołuje się do notesu i zwraca wartość zakończenia. Wywołania funkcji zagnieżdżania można uruchamiać w notesie interaktywnie lub w potoku. Przywoływany notes jest uruchamiany w puli Spark notesu, który wywołuje tę funkcję.

mssparkutils.notebook.run("notebook name", <timeoutSeconds>, <parameterMap>, <workspaceId>)

Na przykład:

mssparkutils.notebook.run("Sample1", 90, {"input": 20 })

Notes sieci szkieletowej obsługuje również odwoływanie się do notesów w wielu obszarach roboczych, określając identyfikator obszaru roboczego.

mssparkutils.notebook.run("Sample1", 90, {"input": 20 }, "fe0a6e2a-a909-4aa3-a698-0a651de790aa")

Możesz otworzyć link migawki przebiegu odwołania w danych wyjściowych komórki. Migawka przechwytuje wyniki uruchomienia kodu i umożliwia łatwe debugowanie przebiegu odwołania.

Zrzut ekranu przedstawiający wynik przebiegu odwołania.

Zrzut ekranu przedstawiający przykład migawki.

Uwaga

  • Notes referencyjny między obszarami roboczymi jest obsługiwany przez środowisko uruchomieniowe w wersji 1.2 lub nowszej.
  • Jeśli używasz plików w obszarze Zasób notesu, użyj mssparkutils.nbResPath w notesie, do którego się odwołujesz, aby upewnić się, że wskazuje on ten sam folder co uruchomienie interakcyjne.

Odwołanie do uruchamiania wielu notesów równolegle

Ważne

Ta funkcja jest dostępna w wersji zapoznawczej.

Metoda mssparkutils.notebook.runMultiple() umożliwia równoległe uruchamianie wielu notesów lub ze wstępnie zdefiniowaną strukturą topologiczną. Interfejs API korzysta z mechanizmu implementacji wielowątowej w ramach sesji platformy Spark, co oznacza, że zasoby obliczeniowe są współużytkowane przez przebiegi notesu referencyjnego.

Za pomocą mssparkutils.notebook.runMultiple()programu można wykonywać następujące czynności:

  • Wykonaj wiele notesów jednocześnie bez oczekiwania na zakończenie każdego z nich.

  • Określ zależności i kolejność wykonywania notesów przy użyciu prostego formatu JSON.

  • Zoptymalizuj użycie zasobów obliczeniowych platformy Spark i zmniejsz koszty projektów sieci szkieletowej.

  • Wyświetl migawki każdego rekordu przebiegu notesu w danych wyjściowych i wygodnie debuguj/monitoruj zadania notesu.

  • Pobierz wartość zakończenia każdej aktywności wykonawczej i użyj ich w zadaniach podrzędnych.

Możesz również spróbować uruchomić plik mssparkutils.notebook.help("runMultiple"), aby znaleźć przykład i szczegółowe użycie.

Oto prosty przykład uruchamiania listy notesów równolegle przy użyciu tej metody:


mssparkutils.notebook.runMultiple(["NotebookSimple", "NotebookSimple2"])

Wynik wykonania z notesu głównego wygląda następująco:

Zrzut ekranu przedstawiający odwołanie do listy notesów.

Poniżej przedstawiono przykład uruchamiania notesów ze strukturą topologiczną przy użyciu polecenia mssparkutils.notebook.runMultiple(). Ta metoda umożliwia łatwe organizowanie notesów za pomocą środowiska kodu.

# run multiple notebooks with parameters
DAG = {
    "activities": [
        {
            "name": "NotebookSimple", # activity name, must be unique
            "path": "NotebookSimple", # notebook path
            "timeoutPerCellInSeconds": 90, # max timeout for each cell, default to 90 seconds
            "args": {"p1": "changed value", "p2": 100}, # notebook parameters
        },
        {
            "name": "NotebookSimple2",
            "path": "NotebookSimple2",
            "timeoutPerCellInSeconds": 120,
            "args": {"p1": "changed value 2", "p2": 200}
        },
        {
            "name": "NotebookSimple2.2",
            "path": "NotebookSimple2",
            "timeoutPerCellInSeconds": 120,
            "args": {"p1": "changed value 3", "p2": 300},
            "retry": 1,
            "retryIntervalInSeconds": 10,
            "dependencies": ["NotebookSimple"] # list of activity names that this activity depends on
        }
    ],
    "timeoutInSeconds": 43200, # max timeout for the entire DAG, default to 12 hours
    "concurrency": 50 # max number of notebooks to run concurrently, default to 50
}
mssparkutils.notebook.runMultiple(DAG, {"displayDAGViaGraphviz": False})

Wynik wykonania z notesu głównego wygląda następująco:

Zrzut ekranu przedstawiający odwołanie do listy notesów z parametrami.

Uwaga

  • Stopień równoległości przebiegu wielu notesów jest ograniczony do całkowitego dostępnego zasobu obliczeniowego sesji platformy Spark.
  • Górny limit działań notesu lub notesów współbieżnych wynosi 50. Przekroczenie tego limitu może prowadzić do problemów ze stabilnością i wydajnością z powodu wysokiego użycia zasobów obliczeniowych. Jeśli wystąpią problemy, rozważ rozdzielenie notesów na wiele runMultiple wywołań lub zmniejszenie współbieżności przez dostosowanie pola współbieżności w parametrze DAG.
  • Domyślny limit czasu dla całej grupy DAG wynosi 12 godzin, a domyślny limit czasu dla każdej komórki w notesie podrzędnym wynosi 90 sekund. Limit czasu można zmienić, ustawiając limit czasuInSeconds i limit czasuPerCellInSeconds w parametrze DAG.

Zamykanie notesu

Ta metoda kończy notes z wartością. Wywołania funkcji zagnieżdżania można uruchamiać w notesie interaktywnie lub w potoku.

  • Po interakcyjnym wywołaniu funkcji exit() z notesu notes sieć szkieletowa zgłasza wyjątek, pomija uruchamianie kolejnych komórek i utrzymuje sesję platformy Spark przy życiu.

  • Gdy organizujesz notes w potoku, który wywołuje funkcję exit(), działanie notesu zwraca wartość z wartością zakończenia, kończy przebieg potoku i zatrzymuje sesję platformy Spark.

  • Po wywołaniu funkcji exit() w notesie, do którego się odwołujesz, platforma Spark zatrzyma dalsze wykonywanie przywoływanego notesu i będzie nadal uruchamiać następne komórki w głównym notesie, który wywołuje funkcję run(). Na przykład: Notes1 ma trzy komórki i wywołuje funkcję exit() w drugiej komórce. Notes2 zawiera pięć komórek i wywołuje polecenie run(notebook1) w trzeciej komórce. Po uruchomieniu notesu Notebook2 notes1 zatrzymuje się w drugiej komórce po naciśnięciu funkcji exit(). Notes2 nadal działa w czwartej komórce i piątej komórce.

mssparkutils.notebook.exit("value string")

Na przykład:

Przykład1 notes z następującymi dwoma komórkami:

  • Komórka 1 definiuje parametr wejściowy z wartością domyślną ustawioną na 10.

  • Komórka 2 zamyka notes z danymi wejściowymi jako wartością zakończenia.

Zrzut ekranu przedstawiający przykładowy notes funkcji exit.

Przykład1 można uruchomić w innym notesie z wartościami domyślnymi:

exitVal = mssparkutils.notebook.run("Sample1")
print (exitVal)

Wyjście:

Notebook executed successfully with exit value 10

Przykład1 można uruchomić w innym notesie i ustawić wartość wejściową na 20:

exitVal = mssparkutils.notebook.run("Sample1", 90, {"input": 20 })
print (exitVal)

Wyjście:

Notebook executed successfully with exit value 20

Narzędzia poświadczeń

Aby uzyskać tokeny dostępu i zarządzać wpisami tajnymi w usłudze Azure Key Vault, możesz użyć narzędzi MSSparkUtils Credentials.

Uruchom następujące polecenie, aby uzyskać przegląd dostępnych metod:

mssparkutils.credentials.help()

Wyjście:

getToken(audience, name): returns AAD token for a given audience, name (optional)
getSecret(keyvault_endpoint, secret_name): returns secret for a given Key Vault and secret name

Uzyskiwanie tokenu

Funkcja getToken zwraca token entra firmy Microsoft dla danej grupy odbiorców i nazwy (opcjonalnie). Na poniższej liście przedstawiono obecnie dostępne klucze odbiorców:

  • Zasób odbiorców magazynu: "storage"
  • Zasób usługi Power BI: "pbi"
  • Zasób usługi Azure Key Vault: "keyvault"
  • Zasób usługi Synapse RTA KQL DB: "kusto"

Uruchom następujące polecenie, aby uzyskać token:

mssparkutils.credentials.getToken('audience Key')

Uzyskiwanie wpisu tajnego przy użyciu poświadczeń użytkownika

Polecenie getSecret zwraca wpis tajny usługi Azure Key Vault dla danego punktu końcowego usługi Azure Key Vault i nazwę wpisu tajnego przy użyciu poświadczeń użytkownika.

mssparkutils.credentials.getSecret('https://<name>.vault.azure.net/', 'secret name')

Instalowanie i odinstalowywanie plików

Sieć szkieletowa obsługuje następujące scenariusze instalacji w pakiecie Microsoft Spark Utilities. Interfejsy API instalacji, odinstalowania, getMountPath()i mounts() umożliwiają dołączenie magazynu zdalnego (ADLS Gen2) do wszystkich węzłów roboczych (węzłów sterownika i węzłów roboczych). Po zainstalowaniu punktu instalacji magazynu użyj lokalnego interfejsu API plików, aby uzyskać dostęp do danych tak, jakby był przechowywany w lokalnym systemie plików.

Jak zainstalować konto usługi ADLS Gen2

W poniższym przykładzie pokazano, jak zainstalować usługę Azure Data Lake Storage Gen2. Instalowanie usługi Blob Storage działa podobnie.

W tym przykładzie przyjęto założenie, że masz jedno konto usługi Data Lake Storage Gen2 o nazwie storegen2, a konto ma jeden kontener o nazwie mycontainer, który chcesz zainstalować do /test w sesji spark notesu.

Zrzut ekranu przedstawiający miejsce wybierania kontenera do zainstalowania.

Aby zainstalować kontener o nazwie mycontainer, najpierw należy sprawdzić, czy masz uprawnienia dostępu do kontenera. Obecnie sieć szkieletowa obsługuje dwie metody uwierzytelniania dla operacji instalacji wyzwalacza: accountKey i sastoken.

Instalowanie za pomocą tokenu sygnatury dostępu współdzielonego lub klucza konta

Narzędzie MSSparkUtils obsługuje jawne przekazywanie klucza konta lub tokenu sygnatury dostępu współdzielonego (SAS) jako parametru w celu zainstalowania obiektu docelowego.

Ze względów bezpieczeństwa zalecamy przechowywanie kluczy konta lub tokenów SAS w usłudze Azure Key Vault (jak pokazano na poniższym zrzucie ekranu). Następnie można je pobrać przy użyciu interfejsu API mssparkutils.credentials.getSecret . Aby uzyskać więcej informacji na temat usługi Azure Key Vault, zobacz About Azure Key Vault managed storage account keys (Informacje o kluczach konta magazynu zarządzanego w usłudze Azure Key Vault).

Zrzut ekranu przedstawiający miejsce przechowywania wpisów tajnych w usłudze Azure Key Vault.

Przykładowy kod metody accountKey :

from notebookutils import mssparkutils  
# get access token for keyvault resource
# you can also use full audience here like https://vault.azure.net
accountKey = mssparkutils.credentials.getSecret("<vaultURI>", "<secretName>")
mssparkutils.fs.mount(  
    "abfss://mycontainer@<accountname>.dfs.core.windows.net",  
    "/test",  
    {"accountKey":accountKey}
)

Przykładowy kod dla sygnatury dostępu współdzielonego:

from notebookutils import mssparkutils  
# get access token for keyvault resource
# you can also use full audience here like https://vault.azure.net
sasToken = mssparkutils.credentials.getSecret("<vaultURI>", "<secretName>")
mssparkutils.fs.mount(  
    "abfss://mycontainer@<accountname>.dfs.core.windows.net",  
    "/test",  
    {"sasToken":sasToken}
)

Uwaga

Może być konieczne zaimportowanie mssparkutils , jeśli nie jest dostępne:

from notebookutils import mssparkutils

Parametry instalacji:

  • fileCacheTimeout: obiekty blob będą domyślnie buforowane w lokalnym folderze tymczasowym przez 120 sekund. W tym czasie program blobfuse nie sprawdzi, czy plik jest aktualny, czy nie. Parametr można ustawić tak, aby zmienić domyślny limit czasu. Gdy wielu klientów modyfikuje pliki jednocześnie, aby uniknąć niespójności między plikami lokalnymi i zdalnymi, zalecamy skrócenie czasu pamięci podręcznej, a nawet zmianę jej na 0 i zawsze pobieranie najnowszych plików z serwera.
  • limit czasu: limit czasu operacji instalacji wynosi domyślnie 120 sekund. Parametr można ustawić tak, aby zmienić domyślny limit czasu. Jeśli występuje zbyt wiele funkcji wykonawczych lub gdy upłynął limit czasu instalacji, zalecamy zwiększenie wartości.

Możesz użyć tych parametrów w następujący sposób:

mssparkutils.fs.mount(
   "abfss://mycontainer@<accountname>.dfs.core.windows.net",
   "/test",
   {"fileCacheTimeout": 120, "timeout": 120}
)

Uwaga

Ze względów bezpieczeństwa zalecamy, aby nie przechowywać poświadczeń w kodzie. Aby dodatkowo chronić twoje poświadczenia, zredagujemy wpis tajny w danych wyjściowych notesu. Aby uzyskać więcej informacji, zobacz Ponowne redagowanie wpisów tajnych.

Jak zainstalować jezioro

Przykładowy kod instalowania usługi Lakehouse do /test:

from notebookutils import mssparkutils 
mssparkutils.fs.mount( 
 "abfss://<workspace_id>@onelake.dfs.fabric.microsoft.com/<lakehouse_id>", 
 "/test"
)

Uwaga

Instalowanie regionalnego punktu końcowego nie jest obsługiwane. Sieć szkieletowa obsługuje tylko instalowanie globalnego punktu końcowego. onelake.dfs.fabric.microsoft.com

Uzyskiwanie dostępu do plików w punkcie instalacji przy użyciu interfejsu API mssparktuils fs

Głównym celem operacji instalacji jest umożliwianie klientom dostępu do danych przechowywanych na koncie magazynu zdalnego przy użyciu lokalnego interfejsu API systemu plików. Dostęp do danych można również uzyskać przy użyciu interfejsu API mssparkutils fs z instalowaną ścieżką jako parametrem. Ten format ścieżki jest nieco inny.

Załóżmy, że w kontenerze mycontainer usługi Data Lake Storage Gen2 został zainstalowany kontener /test przy użyciu interfejsu API instalacji. Gdy uzyskujesz dostęp do danych przy użyciu lokalnego interfejsu API systemu plików, format ścieżki wygląda następująco:

/synfs/notebook/{sessionId}/test/{filename}

Jeśli chcesz uzyskać dostęp do danych przy użyciu interfejsu API mssparkutils fs, zalecamy użycie polecenia getMountPath(), aby uzyskać dokładną ścieżkę:

path = mssparkutils.fs.getMountPath("/test")
  • Katalogi listy:

    mssparkutils.fs.ls(f"file://{mssparkutils.fs.getMountPath('/test')}")
    
  • Odczytywanie zawartości pliku:

    mssparkutils.fs.head(f"file://{mssparkutils.fs.getMountPath('/test')}/myFile.txt")
    
  • Utwórz katalog:

    mssparkutils.fs.mkdirs(f"file://{mssparkutils.fs.getMountPath('/test')}/newdir")
    

Uzyskiwanie dostępu do plików w punkcie instalacji za pośrednictwem ścieżki lokalnej

Pliki w punkcie instalacji można łatwo odczytywać i zapisywać przy użyciu standardowego systemu plików. Oto przykład języka Python:

#File read
with open(mssparkutils.fs.getMountPath('/test2') + "/myFile.txt", "r") as f:
    print(f.read())
#File write
with open(mssparkutils.fs.getMountPath('/test2') + "/myFile.txt", "w") as f:
    print(f.write("dummy data"))

Jak sprawdzić istniejące punkty instalacji

Interfejs API mssparkutils.fs.mounts() umożliwia sprawdzenie wszystkich istniejących informacji o punkcie instalacji:

mssparkutils.fs.mounts()

Jak odinstalować punkt instalacji

Użyj następującego kodu, aby odinstalować punkt instalacji (/test w tym przykładzie):

mssparkutils.fs.unmount("/test")

Znane ograniczenia

  • Bieżąca instalacja jest konfiguracją poziomu zadania; Zalecamy użycie interfejsu API instalacji, aby sprawdzić, czy punkt instalacji istnieje lub nie jest dostępny.

  • Mechanizm odinstalowania nie jest automatyczny. Po zakończeniu działania aplikacji, aby odinstalować punkt instalacji i zwolnić miejsce na dysku, musisz jawnie wywołać odinstalowywanie interfejsu API w kodzie. W przeciwnym razie punkt instalacji nadal będzie istnieć w węźle po zakończeniu działania aplikacji.

  • Instalowanie konta magazynu usługi ADLS Gen1 nie jest obsługiwane.

Narzędzia lakehouse

mssparkutils.lakehouse udostępnia narzędzia specjalnie dostosowane do zarządzania artefaktami lakehouse. Te narzędzia umożliwiają użytkownikom łatwe tworzenie, pobieranie, aktualizowanie i usuwanie artefaktów usługi Lakehouse.

Uwaga

Interfejsy API usługi Lakehouse są obsługiwane tylko w środowisku uruchomieniowym w wersji 1.2 lub nowszej.

Omówienie metod

Poniżej przedstawiono omówienie dostępnych metod udostępnianych przez mssparkutils.lakehouseprogram :

# Create a new Lakehouse artifact
create(name: String, description: String = "", workspaceId: String = ""): Artifact

# Retrieve a Lakehouse artifact
get(name: String, workspaceId: String = ""): Artifact

# Update an existing Lakehouse artifact
update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact

# Delete a Lakehouse artifact
delete(name: String, workspaceId: String = ""): Boolean

# List all Lakehouse artifacts
list(workspaceId: String = ""): Array[Artifact]

Przykłady użycia

Aby skutecznie wykorzystać te metody, rozważ następujące przykłady użycia:

Tworzenie artefaktu lakehouse

artifact = mssparkutils.lakehouse.create("artifact_name", "Description of the artifact", "optional_workspace_id")

Pobieranie artefaktu Lakehouse

artifact = mssparkutils.lakehouse.get("artifact_name", "optional_workspace_id")

Aktualizowanie artefaktu usługi Lakehouse

updated_artifact = mssparkutils.lakehouse.update("old_name", "new_name", "Updated description", "optional_workspace_id")

Usuwanie artefaktu lakehouse

is_deleted = mssparkutils.lakehouse.delete("artifact_name", "optional_workspace_id")

Wyświetlanie listy artefaktów usługi Lakehouse

artifacts_list = mssparkutils.lakehouse.list("optional_workspace_id")

Dodatkowe informacje

Aby uzyskać bardziej szczegółowe informacje o każdej metodzie i jej parametrach, skorzystaj z mssparkutils.lakehouse.help("methodName") funkcji .

Dzięki narzędziom lakehouse firmy MSSparkUtils zarządzanie artefaktami usługi Lakehouse staje się bardziej wydajne i zintegrowane z potokami usługi Fabric, zwiększając ogólne środowisko zarządzania danymi.

Możesz zapoznać się z tymi narzędziami i dołączyć je do przepływów pracy usługi Fabric w celu bezproblemowego zarządzania artefaktami usługi Lakehouse.

Narzędzia środowiska uruchomieniowego

Pokaż informacje kontekstowe sesji

Za pomocą mssparkutils.runtime.context możesz uzyskać informacje kontekstowe bieżącej sesji na żywo, w tym nazwę notesu, domyślną usługę Lakehouse, informacje o obszarze roboczym, jeśli jest to uruchomienie potoku itp.

mssparkutils.runtime.context

Znany problem

W przypadku korzystania z wersji środowiska uruchomieniowego powyżej wersji 1.2 i uruchamiania mssparkutils.help()wymienione interfejsy API fabricClient, warehouse i workspace nie są obecnie obsługiwane, będą dostępne w dalszej części.