Instalace Databricks Connect pro Python
Poznámka:
Tento článek popisuje Databricks Connect pro Databricks Runtime 13.3 LTS a vyšší.
Tento článek popisuje, jak nainstalovat Databricks Connect pro Python. Podívejte se, co je Databricks Connect? Informace o verzi Scala tohoto článku najdete v tématu Instalace Databricks Connect pro Scala.
Požadavky
Pokud chcete nainstalovat Databricks Connect pro Python, musí být splněny následující požadavky:
Pokud se připojujete k výpočetním prostředkům bez serveru, váš pracovní prostor musí splňovat požadavky na výpočetní prostředky bez serveru.
Poznámka:
Bezserverové výpočetní prostředky se podporují ve verzi 15.1 Databricks Connect a vyšší. Kromě toho jsou plně kompatibilní verze Databricks Connect s verzí Databricks Runtime nebo nižší než verze Databricks Runtime na bezserverové verzi. Viz poznámky k verzi. Pokud chcete ověřit, jestli je verze Databricks Connect kompatibilní s bezserverovými výpočetními prostředky, přečtěte si téma Ověření připojení k Databricks.
Pokud se připojujete ke clusteru, musí cílový cluster splňovat požadavky na konfiguraci clusteru, které zahrnují požadavky na verzi databricks Runtime.
Na vývojovém počítači musíte mít nainstalovaný Python 3 a podverze Pythonu nainstalovaná na vývojovém počítači musí splňovat požadavky na verzi v následující tabulce.
Typ výpočetních prostředků Verze Databricks Connect Kompatibilní verze Pythonu Bezserverová architektura 15.1 a vyšší 3.11 Cluster 15.1 a vyšší 3.11 Cluster 13.3 LTS až 14.3 LTS 3,10 Pokud chcete používat funkce definované uživatelem PySpark, musí podverze Pythonu nainstalované na vývojovém počítači odpovídat podverzi Pythonu, která je součástí modulu Databricks Runtime nainstalovaného v clusteru nebo bezserverové výpočetní prostředí. Pokud chcete najít podverzi Pythonu vašeho clusteru, projděte si část Systémové prostředí poznámky k verzi Databricks Runtime pro váš cluster nebo bezserverové výpočetní prostředky. Viz poznámky k verzi Databricks Runtime a poznámky k verzi kompatibility a bezserverové výpočetní verze.
Aktivace virtuálního prostředí Pythonu
Databricks důrazně doporučuje, abyste pro každou verzi Pythonu, kterou používáte s Databricks Connect, aktivovalo virtuální prostředí Pythonu. Virtuální prostředí Pythonu pomáhají zajistit, abyste společně používali správné verze Pythonu a Databricks Connect. Další informace o těchto nástrojích a o tom, jak je aktivovat, najdete v tématu venv nebo Báseň.
Instalace klienta Databricks Connect
Tato část popisuje, jak nainstalovat klienta Databricks Connect s venv nebo básní.
Poznámka:
Pokud už máte nainstalované rozšíření Databricks pro Visual Studio Code, nemusíte postupovat podle těchto pokynů k nastavení, protože rozšíření Databricks pro Visual Studio Code už má integrovanou podporu pro Databricks Connect pro Databricks Runtime 13.3 LTS a vyšší. Přejděte k ladění kódu pomocí Databricks Connect pro rozšíření Databricks pro Visual Studio Code.
Instalace klienta Databricks Connect s venvem
Po aktivaci virtuálního prostředí odinstalujte PySpark spuštěním
uninstall
příkazu. To je povinné, protožedatabricks-connect
balíček je v konfliktu s PySpark. Podrobnosti najdete v tématu Konfliktní instalace PySpark. Pokud chcete zkontrolovat, jestli je PySpark už nainstalovaný, spusťteshow
příkaz.# Is PySpark already installed? pip3 show pyspark # Uninstall PySpark pip3 uninstall pyspark
Pokud je vaše virtuální prostředí stále aktivované, nainstalujte klienta Databricks Connect spuštěním
install
příkazu.--upgrade
Pomocí možnosti upgradujte jakoukoli existující instalaci klienta na zadanou verzi.pip3 install --upgrade "databricks-connect==15.4.*" # Or X.Y.* to match your cluster version.
Poznámka:
Databricks doporučuje, abyste místo něj
databricks-connect==X.Y.*
databricks-connect=X.Y
připojili notaci dot-asterisk, abyste měli jistotu, že je nainstalovaný nejnovější balíček. I když to není požadavek, pomůže vám to zajistit, abyste pro tento cluster mohli používat nejnovější podporované funkce.
Přeskočte dopředu a nakonfigurujte vlastnosti připojení.
Instalace klienta Databricks Connect s poetií
Po aktivaci virtuálního prostředí odinstalujte PySpark spuštěním
remove
příkazu. To je povinné, protožedatabricks-connect
balíček je v konfliktu s PySpark. Podrobnosti najdete v tématu Konfliktní instalace PySpark. Pokud chcete zkontrolovat, jestli je PySpark už nainstalovaný, spusťteshow
příkaz.# Is PySpark already installed? poetry show pyspark # Uninstall PySpark poetry remove pyspark
Pokud je vaše virtuální prostředí stále aktivované, nainstalujte klienta Databricks Connect spuštěním
add
příkazu.poetry add databricks-connect@~15.4 # Or X.Y to match your cluster version.
Poznámka:
Databricks doporučuje, abyste místo
databricks-connect@~15.4
databricks-connect==15.4
toho použili notaci at-tilde, abyste měli jistotu, že je nainstalovaný nejnovější balíček. I když to není požadavek, pomůže vám to zajistit, abyste pro tento cluster mohli používat nejnovější podporované funkce.
Konfigurace vlastností připojení
V této části nakonfigurujete vlastnosti pro navázání připojení mezi Databricks Connect a clusterem Azure Databricks nebo bezserverovým výpočetním prostředím, které zahrnuje následující:
- Název instance pracovního prostoru Azure Databricks. Toto je hodnota názvu hostitele serveru pro vaše výpočetní prostředky. Viz Získání podrobností o připojení pro výpočetní prostředek Azure Databricks.
- Všechny další vlastnosti, které jsou nezbytné pro typ ověřování Databricks, který chcete použít.
Poznámka:
Ověřování uživateleM (U2M) OAuth se podporuje v sadě Databricks SDK pro Python 0.19.0 a novější. Možná budete muset aktualizovat nainstalovanou verzi sady Databricks SDK pro Python na verzi 0.19.0 nebo vyšší, aby bylo možné použít ověřování OAuth U2M. Viz Začínáme se sadou Databricks SDK pro Python.
Pro ověřování OAuth U2M musíte před spuštěním kódu Pythonu použít rozhraní příkazového řádku Databricks k ověření. Podívejte se na kurz.
Ověřování OAuth typu machine-to-machine (M2M) ověřování OAuth na počítači (M2M) je podporováno v sadě Databricks SDK pro Python 0.18.0 a vyšší. Abyste mohli použít ověřování OAuth M2M, budete možná muset aktualizovat nainstalovanou verzi sady Databricks SDK pro Python na verzi 0.18.0 nebo vyšší. Viz Začínáme se sadou Databricks SDK pro Python.
Sada Databricks SDK pro Python zatím neimplementovala ověřování spravovaných identit Azure.
Konfigurace připojení ke clusteru
Ke konfiguraci připojení ke clusteru budete potřebovat ID clusteru. ID clusteru můžete získat z adresy URL. Viz adresa URL a ID clusteru.
Připojení ke clusteru můžete nakonfigurovat jedním z následujících způsobů. Databricks Connect vyhledá vlastnosti konfigurace v následujícím pořadí a použije první nalezenou konfiguraci. Pokročilé informace o konfiguraci najdete v tématu Pokročilé využití Databricks Connect pro Python.
- Metoda remote() třídy DatabricksSession.
- Konfigurační profil Databricks
- Proměnná prostředí DATABRICKS_CONFIG_PROFILE
- Proměnná prostředí pro každou vlastnost konfigurace
- Konfigurační profil Databricks s názvem DEFAULT
DatabricksSession
Metoda třídy remote()
Pro tuto možnost, která se vztahuje pouze na ověřování osobního přístupového tokenu Azure Databricks, zadejte název instance pracovního prostoru, osobní přístupový token Azure Databricks a ID clusteru.
Třídu můžete inicializovat DatabricksSession
několika způsoby následujícím způsobem:
- Nastavte pole
host
atoken
cluster_id
pole vDatabricksSession.builder.remote()
. - Použijte třídu sady Databricks SDK
Config
. - Zadejte konfigurační profil Databricks spolu s polem
cluster_id
. - Nastavte připojovací řetězec Spark Connect v
DatabricksSession.builder.remote()
souboru .
Místo zadávání těchto vlastností připojení v kódu doporučuje Databricks konfigurovat vlastnosti prostřednictvím proměnných prostředí nebo konfiguračních souborů, jak je popsáno v této části. Následující příklady kódu předpokládají, že zadáte určitou implementaci navrhovaných retrieve_*
funkcí, abyste získali potřebné vlastnosti od uživatele nebo z jiného úložiště konfigurace, jako je Azure KeyVault.
Kód pro každý z těchto přístupů je následující:
# Set the host, token, and cluster_id fields in DatabricksSession.builder.remote.
# If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
# cluster's ID, you do not also need to set the cluster_id field here.
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.remote(
host = f"https://{retrieve_workspace_instance_name()}",
token = retrieve_token(),
cluster_id = retrieve_cluster_id()
).getOrCreate()
# Use the Databricks SDK's Config class.
# If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
# cluster's ID, you do not also need to set the cluster_id field here.
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config
config = Config(
host = f"https://{retrieve_workspace_instance_name()}",
token = retrieve_token(),
cluster_id = retrieve_cluster_id()
)
spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()
# Specify a Databricks configuration profile along with the `cluster_id` field.
# If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
# cluster's ID, you do not also need to set the cluster_id field here.
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config
config = Config(
profile = "<profile-name>",
cluster_id = retrieve_cluster_id()
)
spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()
Konfigurační profil Databricks
Pro tuto možnost vytvořte nebo identifikujte konfigurační profil Azure Databricks obsahující pole cluster_id
a všechna další pole, která jsou nezbytná pro typ ověřování Databricks, který chcete použít.
Pole požadovaného konfiguračního profilu pro každý typ ověřování jsou následující:
- Pro ověřování osobního přístupového tokenu Azure Databricks:
host
atoken
. - Pro ověřování M2M (machine-to-machine) OAuth (kde je podporováno):
host
,client_id
aclient_secret
. - Pro ověřování uživatele AAuth (U2M) (kde je to podporováno):
host
- Pro ověřování
host
instančního objektu služby Microsoft Entra ID (dříve Azure Active Directory): ,azure_tenant_id
,azure_client_id
azure_client_secret
a případněazure_workspace_resource_id
. - Pro ověřování Azure CLI:
host
. - Ověřování spravovaných identit Azure (kde je podporováno):
host
,azure_use_msi
,azure_client_id
, a případněazure_workspace_resource_id
.
Potom nastavte název tohoto konfiguračního profilu prostřednictvím Config
třídy.
Můžete zadat cluster_id
několika způsoby následujícím způsobem:
- Do konfiguračního
cluster_id
profilu zahrňte pole a zadejte název konfiguračního profilu. - Zadejte název konfiguračního profilu spolu s polem
cluster_id
.
Pokud jste již nastavili proměnnou DATABRICKS_CLUSTER_ID
prostředí s ID clusteru, nemusíte také zadávat cluster_id
.
Kód pro každý z těchto přístupů je následující:
# Include the cluster_id field in your configuration profile, and then
# just specify the configuration profile's name:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate()
# Specify the configuration profile name along with the cluster_id field.
# In this example, retrieve_cluster_id() assumes some custom implementation that
# you provide to get the cluster ID from the user or from some other
# configuration store:
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config
config = Config(
profile = "<profile-name>",
cluster_id = retrieve_cluster_id()
)
spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()
Proměnná DATABRICKS_CONFIG_PROFILE
prostředí
Pro tuto možnost vytvořte nebo identifikujte konfigurační profil Azure Databricks obsahující pole cluster_id
a všechna další pole, která jsou nezbytná pro typ ověřování Databricks, který chcete použít.
Pokud jste již nastavili proměnnou DATABRICKS_CLUSTER_ID
prostředí s ID clusteru, nemusíte také zadávat cluster_id
.
Pole požadovaného konfiguračního profilu pro každý typ ověřování jsou následující:
- Pro ověřování osobního přístupového tokenu Azure Databricks:
host
atoken
. - Pro ověřování M2M (machine-to-machine) OAuth (kde je podporováno):
host
,client_id
aclient_secret
. - Pro ověřování uživatele AAuth (U2M) (kde je to podporováno):
host
- Pro ověřování
host
instančního objektu služby Microsoft Entra ID (dříve Azure Active Directory): ,azure_tenant_id
,azure_client_id
azure_client_secret
a případněazure_workspace_resource_id
. - Pro ověřování Azure CLI:
host
. - Ověřování spravovaných identit Azure (kde je podporováno):
host
,azure_use_msi
,azure_client_id
, a případněazure_workspace_resource_id
.
Nastavte proměnnou DATABRICKS_CONFIG_PROFILE
prostředí na název tohoto konfiguračního profilu. Pak inicializovat DatabricksSession
třídu následujícím způsobem:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Proměnná prostředí pro každou vlastnost konfigurace
Pro tuto možnost nastavte proměnnou DATABRICKS_CLUSTER_ID
prostředí a všechny další proměnné prostředí, které jsou nezbytné pro typ ověřování Databricks, který chcete použít.
Požadované proměnné prostředí pro každý typ ověřování jsou následující:
- Pro ověřování osobního přístupového tokenu Azure Databricks:
DATABRICKS_HOST
aDATABRICKS_TOKEN
. - Pro ověřování M2M (machine-to-machine) OAuth (kde je podporováno):
DATABRICKS_HOST
,DATABRICKS_CLIENT_ID
aDATABRICKS_CLIENT_SECRET
. - Pro ověřování uživatele AAuth (U2M) (kde je to podporováno):
DATABRICKS_HOST
- Pro ověřování
DATABRICKS_HOST
instančního objektu služby Microsoft Entra ID (dříve Azure Active Directory): ,ARM_TENANT_ID
,ARM_CLIENT_ID
ARM_CLIENT_SECRET
a případněDATABRICKS_AZURE_RESOURCE_ID
. - Pro ověřování Azure CLI:
DATABRICKS_HOST
. - Ověřování spravovaných identit Azure (kde je podporováno):
DATABRICKS_HOST
,ARM_USE_MSI
,ARM_CLIENT_ID
, a případněDATABRICKS_AZURE_RESOURCE_ID
.
Pak inicializovat DatabricksSession
třídu následujícím způsobem:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Konfigurační profil Databricks s názvem DEFAULT
Pro tuto možnost vytvořte nebo identifikujte konfigurační profil Azure Databricks obsahující pole cluster_id
a všechna další pole, která jsou nezbytná pro typ ověřování Databricks, který chcete použít.
Pokud jste již nastavili proměnnou DATABRICKS_CLUSTER_ID
prostředí s ID clusteru, nemusíte také zadávat cluster_id
.
Pole požadovaného konfiguračního profilu pro každý typ ověřování jsou následující:
- Pro ověřování osobního přístupového tokenu Azure Databricks:
host
atoken
. - Pro ověřování M2M (machine-to-machine) OAuth (kde je podporováno):
host
,client_id
aclient_secret
. - Pro ověřování uživatele AAuth (U2M) (kde je to podporováno):
host
- Pro ověřování
host
instančního objektu služby Microsoft Entra ID (dříve Azure Active Directory): ,azure_tenant_id
,azure_client_id
azure_client_secret
a případněazure_workspace_resource_id
. - Pro ověřování Azure CLI:
host
. - Ověřování spravovaných identit Azure (kde je podporováno):
host
,azure_use_msi
,azure_client_id
, a případněazure_workspace_resource_id
.
Pojmenujte tento konfigurační profil DEFAULT
.
Pak inicializovat DatabricksSession
třídu následujícím způsobem:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Konfigurace připojení k bezserverovým výpočetním prostředkům
Důležité
Tato funkce je ve verzi Public Preview.
Databricks Connect podporuje připojení k výpočetním prostředkům bez serveru. Aby bylo možné tuto funkci použít, musí být splněny požadavky na připojení k bezserverové aplikaci. Viz Požadavky.
Důležité
Tato funkce má následující omezení:
- Všechna omezení služby Databricks Connect pro Python
- Všechna omezení výpočetních prostředků bez serveru
- Pro uživatele definované uživatelem je možné použít jenom závislosti Pythonu, které jsou součástí bezserverového výpočetního prostředí. Viz Systémové prostředí. Nelze nainstalovat další závislosti.
- Funkce definované uživatelem s vlastními moduly se nepodporují.
Připojení k bezserverovým výpočetním prostředkům můžete nakonfigurovat jedním z následujících způsobů:
Nastavte místní proměnnou
DATABRICKS_SERVERLESS_COMPUTE_ID
prostředí naauto
hodnotu . Pokud je tato proměnná prostředí nastavená, Databricks Connect ignorujecluster_id
.V místním konfiguračním profilu Databricks nastavte
serverless_compute_id = auto
a potom na tento profil odkazujte z kódu Pythonu pro Databricks Connect.[DEFAULT] host = https://my-workspace.cloud.databricks.com/ serverless_compute_id = auto token = dapi123...
Případně stačí aktualizovat kód Pythonu pro Databricks Connect následujícím způsobem:
from databricks.connect import DatabricksSession as SparkSession spark = DatabricksSession.builder.serverless(True).getOrCreate()
from databricks.connect import DatabricksSession as SparkSession spark DatabricksSession.builder.remote(serverless=True).getOrCreate()
Poznámka:
Výpočetní relace bez serveru vyprší po 10 minutách nečinnosti. Potom se musí vytvořit nová relace Sparku pro připojení k bezserverovým výpočetním prostředkům. To lze provést s spark = DatabricksSession.builder.serverless(True).getOrCreate()
.
Ověření připojení k Databricks
Pokud chcete ověřit vaše prostředí, výchozí přihlašovací údaje a připojení k výpočetním prostředkům, jsou správně nastavené pro Databricks Connect, spusťte databricks-connect test
příkaz, který selže s nenulovým ukončovacím kódem a odpovídající chybovou zprávou, když zjistí případné nekompatibilitu v nastavení.
databricks-connect test
Prostředí v kódu Pythonu můžete také ověřit pomocí validateSession()
:
DatabricksSession.builder.validateSession(True).getOrCreate()