Udostępnij za pośrednictwem


Narzędzia usługi Databricks z usługą Databricks Connect dla języka Python

Uwaga

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 narzędzi usługi Databricks z usługą Databricks Connect dla języka Python. Usługa Databricks Connect umożliwia łączenie popularnych środowisk IDE, serwerów notesów i aplikacji niestandardowych z klastrami usługi Azure Databricks. Zobacz Co to jest usługa Databricks Connect?. Aby zapoznać się z wersją tego artykułu, zobacz Databricks Utilities with Databricks Connect for Scala (Narzędzia usługi Databricks Connect dla języka Scala).

Uwaga

Przed rozpoczęciem korzystania z usługi Databricks Connect należy skonfigurować 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 WorkspaceClient dbutils klasy, aby uzyskać dostęp do narzędzi usługi Databricks. Klasa WorkspaceClient należy do zestawu SDK usługi Databricks dla języka Python i jest zawarta w narzędziu Databricks Connect.
  • Użyj dbutils.fs polecenia , aby uzyskać dostęp do narzędzia Databricks Utilities fs .
  • Użyj polecenia dbutils.secrets , aby uzyskać dostęp do narzędzia do wpisów tajnych narzędzi usługi Databricks.
  • Żadne funkcje narzędzi usługi Databricks inne niż poprzednie narzędzia są dostępne za pośrednictwem programu 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 zestaw databricks-sdk w interfejsie PyPI.

Aby zainicjować WorkspaceClientusługę , musisz podać wystarczającą ilość informacji, aby uwierzytelnić zestaw SDK usługi Databricks w obszarze roboczym. Można na przykład:

  • Trwale zakoduj adres URL obszaru roboczego i token dostępu bezpośrednio w kodzie, a następnie zainicjuj WorkspaceClient je 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 zawierający pola host i token, a następnie zainicjuj je WorkspaceClient w następujący sposób:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • Ustaw zmienne DATABRICKS_HOST środowiskowe i DATABRICKS_TOKEN w taki sam sposób, jak ustawisz je dla usługi Databricks Connect, a następnie zainicjuj WorkspaceClient 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 zestawy 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 zestaw databricks-sdk w interfejsie 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 wykazu aparatu Unity w obszarze roboczym, odczytuje dane z pliku, a następnie usuwa plik. W tym przykładzie przyjęto założenie, że zmienne DATABRICKS_HOST środowiskowe i DATABRICKS_TOKEN zostały już ustawione:

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ż temat Interakcje z narzędziami dbutils w dokumentacji zestawu SDK usługi Databricks dla języka Python.