Nástroje Databricks se službou Databricks Connect pro Python

Poznámka

Tento článek popisuje Databricks Connect pro Databricks Runtime 13.3 LTS a novější.

Tento článek popisuje, jak používat nástroje Databricks Utilities se službou Databricks Connect pro Python. Databricks Connect umožňuje připojit oblíbená prostředí IDE, servery poznámkových bloků a vlastní aplikace ke clusterům Azure Databricks. Viz Databricks Connect.

Než začnete používat Databricks Connect, musíte nastavit klienta Databricks Connect.

Pro verzi článku určenou pro Scala nahlédněte do Databricks Utilities s Databricks Connect pro Scala.

Dostupné nástroje Databricks

Databricks Connect používáte pro přístup k nástrojům Databricks následujícím způsobem:

  • WorkspaceClient Pro přístup k nástrojům Databricks použijte proměnnou třídydbutils. Třída WorkspaceClient patří do sady Databricks SDK pro Python a je součástí databricks Connect.
  • Použijte dbutils.fs pro přístup k nástroji Databricks Utilities fs.
  • K přístupu k utility dbutils.secrets v Databricks Utilities použijte nástroj secrets.
  • Použijte dbutils.widgets k vytváření a čtení lokálních widgetů, aby kód napsaný pro utilitu widgets Databricks Utilities běžel lokálně. Tyto widgety existují pouze ve vaší lokální relaci a nemohou získat parametry vzdáleného poznámkového bloku nebo úlohy jobu. Čtení widgetu, který jste nevytvořili lokálně, vyvolá KeyError, nebo vrátí výchozí hodnotu, pokud použijete getArgument.
  • Pomocí dbutils.jobs.taskValues můžete místně ladit kód napsaný pro utilitu jobs nástroje Databricks Utilities. Hodnoty úloh se nevyměňují se vzdálenými spuštěními úloh: set nic nedělá a get vrací hodnotu svého argumentu debugValue nebo vyvolá chybu, pokud nepředáš debugValue. Pro nastavení nebo získání hodnot úloh pro následné úlohy spusťte svůj kód jako úlohu.

Žádná funkce Databricks Utilities kromě předchozích utilit není dostupná přes dbutils.

Spropitné

Zahrnutou sadu Databricks SDK můžete také použít pro Python pro přístup k libovolnému dostupnému rozhraní DATAbricks REST API, nejen k předchozím rozhraním API pro nástroje Databricks. Viz databricks-sdk na PyPI.

Inicializujte klienta pracovního prostoru

Pokud chcete inicializovat WorkspaceClient, musíte zadat dostatek informací k ověření sady SDK Databricks v pracovním prostoru. Můžete například:

  • Pevně zakódujte adresu URL pracovního prostoru a přístupový token přímo v kódu a pak inicializujete WorkspaceClient následujícím způsobem. I když je tato možnost podporovaná, databricks nedoporučuje tuto možnost, protože může zveřejnit citlivé informace, jako jsou přístupové tokeny, pokud je váš kód vrácený do správy verzí nebo jinak sdílený:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(host  = f"https://{retrieve_workspace_instance_name()}",
                        token = retrieve_token())
    
  • Vytvořte nebo zadejte konfigurační profil , který obsahuje pole host a token, a poté inicializujte WorkspaceClient následujícím způsobem:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Nastavte proměnné prostředí DATABRICKS_HOST a DATABRICKS_TOKEN stejným způsobem, jakým je nastavíte pro Databricks Connect, a pak inicializujete WorkspaceClient následujícím způsobem:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

Sada Databricks SDK pro Python nerozpozná proměnnou prostředí SPARK_REMOTE pro Databricks Connect.

Další možnosti ověřování Azure Databricks pro sadu Databricks SDK pro Python a také postup inicializace AccountClient v sadách SDK Databricks pro přístup k dostupným rozhraním REST API Databricks na úrovni účtu místo na úrovni pracovního prostoru najdete v tématu databricks-sdk na PyPI.

Příklad: Vytvoření souboru ve svazku

Následující příklad ukazuje, jak pomocí sady Databricks SDK pro Python automatizovat nástroje Databricks. Tento příklad vytvoří soubor pojmenovaný zzz_hello.txt v cestě ke svazku Katalogu Unity v pracovním prostoru, přečte data ze souboru a pak soubor odstraní. Tento příklad předpokládá, že proměnné prostředí DATABRICKS_HOST a DATABRICKS_TOKEN již byly nastaveny:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

file_path = "/Volumes/main/default/my-volume/zzz_hello.txt"
file_data = "Hello, Databricks!"
fs = w.dbutils.fs

fs.put(
  file      = file_path,
  contents  = file_data,
  overwrite = True
)

print(fs.head(file_path))

fs.rm(file_path)

Viz také Interakce s dbutils v dokumentaci Databricks SDK pro Python.