Megosztás:


Databricks-segédprogramok a Pythonhoz készült Databricks Connecttel

Jegyzet

Ez a cikk a Databricks Runtime 13.3 LTS-hez készült Databricks Connectet ismerteti.

Ez a cikk bemutatja, hogyan használható a Databricks Utilities a Pythonhoz készült Databricks Connect segítségével. A Databricks Connect lehetővé teszi népszerű IDE-k, notebook-szerverek és egyéni alkalmazások csatlakoztatását Azure Databricks-fürtökhöz. Lásd Mi az a Databricks Connect?.

Mielőtt megkezdené a Databricks Connect használatát, be kell állítania a Databricks Connect kliens-t.

A cikk Scala-verziójáról a Databricks Utilities és a Databricks Connect for Scalacímű cikkben olvashat.

Elérhető Databricks segédprogramok

A Databricks Connect használatával az alábbiak szerint érheti el a Databricks segédprogramokat:

  • Használja az WorkspaceClient osztály változóját dbutils a Databricks Utilities eléréséhez. A WorkspaceClient osztály a Databricks SDK for Python része, és a Databricks Connect része.
  • Használja a dbutils.fs a Databricks Utilities fs segédprogram eléréséhez.
  • A dbutils.secrets használatával elérheti a Databricks Utilities titkos kulcsokat segédprogramot.

Csak az előzőleg említett segédprogramok érhetők el a dbutils-n keresztül. Az egyéb Databricks segédprogramok nem elérhetők.

Borravaló

A mellékelt Python Databricks SDK-val bármely elérhető Databricks REST API-hoz hozzáférhet, nem csak az előző Databricks Utilities API-khoz. Lásd databricks-sdk a PyPI-n.

A WorkspaceClient intializálása

A WorkspaceClientinicializálásához elegendő információt kell megadnia a Databricks SDK munkaterülethez való azonosításához. Például a következőt teheti:

  • A munkaterület URL-címét és a hozzáférési jogkivonatot közvetlenül a kódban építse be, majd inicializálja a(z) WorkspaceClient-t az alábbi módon. Bár ez a beállítás támogatott, a Databricks nem javasolja ezt a beállítást, mivel bizalmas információkat, például hozzáférési jogkivonatokat tehet közzé, ha a kód be van jelölve a verziókövetésbe vagy más módon meg van osztva:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(host  = f"https://{retrieve_workspace_instance_name()}",
                        token = retrieve_token())
    
  • Hozzon létre vagy adjon meg egy konfigurációs profilt, amely tartalmazza a host és tokenmezőket, majd inicializálja a WorkspaceClient az alábbiak szerint:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Állítsa be a környezeti változókat DATABRICKS_HOST és DATABRICKS_TOKEN ugyanúgy, mint a Databricks Connect esetében, majd inicializálja a WorkspaceClient az alábbiak szerint:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

A Pythonhoz készült Databricks SDK nem ismeri fel a Databricks Connect SPARK_REMOTE környezeti változóját.

A Pythonhoz készült Databricks SDK további Azure Databricks-hitelesítési lehetőségeiről, valamint a Databricks SDK-k AccountClient inicializálásáról az elérhető Databricks REST API-k fiókszinten való elérése érdekében, és nem a munkaterület szintjén, lásd Databricks-sdk a PyPI-n.

Példa: Fájl létrehozása kötetben

Az alábbi példa bemutatja, hogyan használható a Databricks SDK for Python a Databricks Utilities automatizálására. Ez a példa létrehoz egy Unity Catalog-kötet munkaterületen belüli elérési útján elnevezett zzz_hello.txt fájlt, beolvassa az adatokat a fájlból, majd törli a fájlt. Ez a példa feltételezi, hogy a környezeti változók DATABRICKS_HOST és DATABRICKS_TOKEN már be vannak állítva:

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)

Lásd még A Dbutils- való interakciót a Pythonhoz készült Databricks SDK dokumentációjában.