Megosztás a következőn keresztül:


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

Feljegyzés

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 Databricks Connect for Python használatával. A Databricks Connect lehetővé teszi népszerű azonosítók, notebook-kiszolgálók és egyéni alkalmazások Azure Databricks-fürtökhöz való csatlakoztatását. Lásd : Mi az a Databricks Connect?. A cikk Scala-verziójáról a Databricks Utilities és a Databricks Connect for Scala című témakörben olvashat.

Feljegyzés

A Databricks Connect használatának megkezdése előtt be kell állítania a Databricks Connect-ügyfelet.

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. Az WorkspaceClient osztály a Pythonhoz készült Databricks SDK-hoz tartozik, és a Databricks Connect része.
  • A Databricks Utilities fs segédprogram eléréséhez használhatódbutils.fs.
  • A Databricks Utilities titkos kulcsok segédprogramjának eléréséhez használhatódbutils.secrets.
  • Az előző segédprogramokon kívül dbutilsa Databricks segédprogramok nem érhetők el.

Tipp.

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.

Az inicializáláshoz WorkspaceClientelegendő információt kell megadnia ahhoz, hogy hitelesítse a Databricks SDK-t a munkaterülettel. Lehetőség van például a következőkre:

  • A munkaterület URL-címét és a hozzáférési jogkivonatot közvetlenül a kódban kódolja, majd inicializálja WorkspaceClient az alábbiak szerint. 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 jelentkezve 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 mezőkettokenhost, majd inicializálja az WorkspaceClient alábbiakat:

    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, ahogyan a Databricks Connect esetében beállította őket, majd inicializálja WorkspaceClient az alábbiak szerint:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

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

A Pythonhoz készült Databricks SDK-hoz tartozó további Azure Databricks-hitelesítési lehetőségekért, valamint a Databricks SDK-kon belüli inicializáláshoz AccountClient az elérhető Databricks REST API-k fiókszinten való eléréséhez a munkaterület szintjén, lásd a PyPI databricks-sdk-jét .

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 már DATABRICKS_TOKEN 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 Databricks SDK for Python dokumentációjában a dbutil-okkal való interakciót.