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átdbutils
a Databricks Utilities eléréséhez. AzWorkspaceClient
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
dbutils
a 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 WorkspaceClient
elegendő 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őket
token
host
, majd inicializálja azWorkspaceClient
alábbiakat:from databricks.sdk import WorkspaceClient w = WorkspaceClient(profile = "<profile-name>")
Állítsa be a környezeti változókat
DATABRICKS_HOST
, ésDATABRICKS_TOKEN
ugyanúgy, ahogyan a Databricks Connect esetében beállította őket, majd inicializáljaWorkspaceClient
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.