Narzędzia usługi Databricks z usługą Databricks Connect dla języka Python
Notatka
W tym artykule opisano usługę Databricks Connect dla środowiska Databricks Runtime 13.3 LTS lub nowszego.
W tym artykule opisano sposób używania programu Databricks Utilities z usługą Databricks Connect dla języka Python. Usługa Databricks Connect umożliwia łączenie popularnych środowisk programistycznych (IDE), serwerów notebooków i aplikacji niestandardowych z klastrami Azure Databricks. Zobacz Co to jest usługa Databricks Connect?. Aby zapoznać się z wersją artykułu w języku Scala, przeczytaj Databricks Utilities with Databricks Connect for Scala.
Notatka
Przed rozpoczęciem korzystania z usługi Databricks Connect należy set klienta usługi Databricks Connect.
Użyjesz usługi Databricks Connect, aby uzyskać dostęp do narzędzi usługi Databricks w następujący sposób:
- Użyj zmiennej
dbutils
z klasyWorkspaceClient
, aby uzyskać dostęp do narzędzi Databricks Utilities. KlasaWorkspaceClient
należy do zestawu SDK usługi Databricks dla języka Python i jest uwzględniona w usłudze Databricks Connect. - Użyj
dbutils.fs
, aby uzyskać dostęp do narzędzia Databricks Utilities fs. - Użyj
dbutils.secrets
, aby uzyskać dostęp do narzędzia Databricks Utilities Secrets. - Żadne funkcje narzędzi Databricks, poza wymienionymi wcześniej, nie są dostępne za pośrednictwem
dbutils
.
Napiwek
Możesz również użyć dołączonego zestawu SDK usługi Databricks dla języka Python, aby uzyskać dostęp do dowolnego dostępnego interfejsu API REST usługi Databricks, a nie tylko poprzednich interfejsów API narzędzi usługi Databricks. Zobacz databricks-sdk na stronie PyPI.
Aby zainicjować WorkspaceClient
, należy podać wystarczającą ilość danych, aby uwierzytelnić pakiet SDK Databricks z obszarem roboczym. Możesz na przykład:
Zakoduj trwale adres URL obszaru roboczego i token dostępu bezpośrednio w kodzie, a następnie zainicjuj
WorkspaceClient
w następujący sposób. Mimo że ta opcja jest obsługiwana, usługa Databricks nie zaleca tej opcji, ponieważ może uwidaczniać poufne informacje, takie jak tokeny dostępu, jeśli kod jest zaewidencjonowany w kontroli wersji lub w inny sposób udostępniony:from databricks.sdk import WorkspaceClient w = WorkspaceClient(host = f"https://{retrieve_workspace_instance_name()}", token = retrieve_token())
Utwórz lub określ profil konfiguracji , który zawiera pola
host
itoken
, a następnie zainicjujWorkspaceClient
w następujący sposób:from databricks.sdk import WorkspaceClient w = WorkspaceClient(profile = "<profile-name>")
Set zmienne środowiskowe
DATABRICKS_HOST
iDATABRICKS_TOKEN
w taki sam sposób, jak set je dla usługi Databricks Connect, a następnie zainicjujWorkspaceClient
w następujący sposób:from databricks.sdk import WorkspaceClient w = WorkspaceClient()
Zestaw SDK usługi Databricks dla języka Python nie rozpoznaje zmiennej środowiskowej SPARK_REMOTE
dla usługi Databricks Connect.
Aby uzyskać dodatkowe opcje uwierzytelniania usługi Azure Databricks dla zestawu SDK usługi Databricks dla języka Python, a także jak zainicjować AccountClient
w zestawach SDK usługi Databricks w celu uzyskania dostępu do dostępnych interfejsów API REST usługi Databricks na poziomie konta zamiast na poziomie obszaru roboczego, zobacz databricks-sdk na platformie PyPI.
W poniższym przykładzie pokazano, jak używać zestawu SDK usługi Databricks dla języka Python do automatyzowania narzędzi usługi Databricks. W tym przykładzie tworzony jest plik o nazwie zzz_hello.txt
w ścieżce woluminu Unity Catalog w obszarze roboczym, dane są odczytywane z pliku, a następnie plik jest usuwany. W tym przykładzie przyjęto założenie, że zmienne środowiskowe DATABRICKS_HOST
i DATABRICKS_TOKEN
zostały już set:
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)
Zobacz również Interakcja z dbutils w dokumentacji SDK Databricks dla Pythona.