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

Uwaga

W tym artykule opisano Połączenie databricks dla środowiska Databricks Runtime 13.0 lub nowszego.

W tym artykule opisano sposób używania narzędzi usługi Databricks w usłudze Databricks Połączenie dla języka Python. Usługa Databricks Połączenie 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 Połączenie?. Aby zapoznać się z wersją tego artykułu, zobacz Databricks Utilities with Databricks Połączenie for Scala (Narzędzia usługi Databricks z usługą Databricks Połączenie dla języka Scala).

Uwaga

Przed rozpoczęciem korzystania z usługi Databricks Połączenie należy skonfigurować klienta usługi Databricks Połączenie.

Użyjesz usługi Databricks Połączenie, aby uzyskać dostęp do narzędzi usługi Databricks w następujący sposób:

  • Użyj zmiennej WorkspaceClientdbutils 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 uwzględniona w Połączenie usługi Databricks.
  • 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żesz 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 Połączenie, 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 Połączenie.

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.