Databricks Connect for Python
This article covers Databricks Connect for Databricks Runtime 13.0 and above.
Databricks Connect enables you to connect popular IDEs such as PyCharm, notebook servers, and other custom applications to Azure Databricks clusters. See What is Databricks Connect?.
To skip this tutorial and use a different IDE instead, see Next steps.
To complete this tutorial, you must meet the following requirements:
Your target Azure Databricks workspace and cluster must meet the requirements for Cluster configuration for Databricks Connect.
You must have your cluster ID available. To get your cluster ID, in your workspace, click Compute on the sidebar. In your web browser’s address bar, copy the string of characters between
configurationin the URL.
You have PyCharm installed.
You have Python 3 installed on your development machine, and the minor version of your client Python installation is the same as the minor Python version of your Azure Databricks cluster. The following table shows the Python version installed with each Databricks Runtime.
Databricks Runtime version Python version 13.0 ML - 14.0 ML,
13.0 - 14.0
Step 1: Create a personal access token
If you already have an Azure Databricks personal access token and a matching Azure Databricks configuration profile, skip to Step 3. If you are not sure whether you already have an Azure Databricks personal access token, you can follow this step without affecting any other Azure Databricks personal access tokens in your user account.
Databricks Connect supports authenticating with Microsoft Entra ID (formerly Azure Active Directory) managed identities, Microsoft Entra ID (formerly Azure Active Directory) service principals, or with the Azure CLI, in addition to Azure Databricks personal access token authentication. For managed identity, service principal, or Azure CLI authentication setup and configuration details, see Set up the client.
To create a personal access token, do the following:
- In your Azure Databricks workspace, click your Azure Databricks username in the top bar, and then select User Settings from the drop down.
- Click Developer.
- Next to Access tokens, click Manage.
- Click Generate new token.
- (Optional) Enter a comment that helps you to identify this token in the future, and change the token’s default lifetime of 90 days. To create a token with no lifetime (not recommended), leave the Lifetime (days) box empty (blank).
- Click Generate.
- Copy the displayed token to a secure location, and then click Done.
Be sure to save the copied token in a secure location. Do not share your copied token with others. If you lose the copied token, you cannot regenerate that exact same token. Instead, you must repeat this procedure to create a new token. If you lose the copied token, or you believe that the token has been compromised, Databricks strongly recommends that you immediately delete that token from your workspace by clicking the trash can (Revoke) icon next to the token on the Access tokens page.
If you are not able to create or use tokens in your workspace, this might be because your workspace administrator has disabled tokens or has not given you permission to create or use tokens. See your workspace administrator or the following:
Step 2: Create an authentication configuration profile
Create an Azure Databricks authentication configuration profile to store necessary information about your personal access token on your local machine. Azure Databricks developer tools and SDKs can use this configuration profile to quickly authenticate with your Azure Databricks workspace.
To create a profile, do the following:
The following procedure uses the Databricks CLI to create an Azure Databricks configuration profile with the name
DEFAULT. If you already have a
DEFAULT configuration profile, this procedure overwrites your existing
DEFAULT configuration profile.
To check whether you already have a
DEFAULT configuration profile, and to view this profile’s settings if it exists, use the Databricks CLI to run the command
databricks auth env --profile DEFAULT.
To create a configuration profile with a name other than
DEFAULT, replace the
DEFAULT part of
--profile DEFAULT in the
databricks configure command as shown in the following step with a different name for the configuration profile.
databricks configure --configure-cluster --profile DEFAULT
For the prompt Databricks Host, enter your Azure Databricks per-workspace URL, for example
For the prompt Personal Access Token, enter the Azure Databricks personal access token for your workspace.
In the list of available clusters that appears, use your up arrow and down arrow keys to select the target Azure Databricks cluster in your workspace, and then press
Enter. You can also type any part of the cluster’s display name to filter the list of available clusters.
Step 3: Create the project
- Start PyCharm.
- On the main menu, click File > New Project.
- For Location, click the folder icon, and complete the on-screen directions to specify the path to your new Python project.
- Expand Python interpreter: New environment.
- Click the New environment using option.
- In the drop-down list, select Virtualenv.
- Leave Location with the suggested path to the
- For Base interpreter, use the drop-down list or click the ellipses to specify the path to the Python interpreter from the preceding requirements.
- Click Create.
- On PyCharm’s main menu, click View > Tool Windows > Python Packages.
- In the search box, enter
- In the PyPI repository list, click databricks-connect.
- In the result pane’s latest drop-down list, select the version that matches your cluster’s Databricks Runtime version. For example, if your cluster has Databricks Runtime 13.3 LTS installed, select 13.3.0.
- Click Install.
- After the package installs, you can close the Python Packages window.
In the Project tool window, right-click the project’s root folder, and click New > Python File.
main.pyand double-click Python file.
Enter the following code into the file and then save the file:
from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)
Step 6: Run the code
- Start the target cluster in your remote Azure Databricks workspace.
- After the cluster has started, on the main menu, click Run > Run ‘main’.
- In the Run tool window (View > Tool Windows > Run), in the Run tab’s main pane, the first 5 rows of the
Step 7: Debug the code
- With the cluster still running, in the preceding code, click the gutter next to
df.show(5)to set a breakpoint.
- On the main menu, click Run > Debug ‘main’.
- In the Debug tool window (View > Tool Windows > Debug), in the Debugger tab’s Variables pane, expand the df and spark variable nodes to browse information about the code’s
- In the Debug tool window’s sidebar, click the green arrow (Resume Program) icon.
- In the Debugger tab’s Console pane, the first 5 rows of the
To learn more about Databricks Connect, see articles such as the following:
- To use Azure Databricks authentication types in addition to Azure Databricks personal access token authentication, see Install Databricks Connect for Python.
- To use other IDEs, notebook servers, and the Spark shell, see the following:
- To view additional code examples, see Code examples for Databricks Connect for Python.
- To use Databricks Utilities with Databricks Connect, see Databricks Utilities with Databricks Connect for Python.
- To migrate from Databricks Connect for Databricks Runtime 12.2 LTS and below to Databricks Connect for Databricks Runtime 13.0 and above, see Migrate to Databricks Connect for Python.
- See also information about troubleshooting and limitations.