Prerequisites
Before creating an Azure SQL Warehouse connection without Spark, complete the following prerequisites.
Unity Catalog must be enabled on your Databricks cluster.
In Unity Catalog, create storage credentials and an external location with appropriate access permissions for both the source and destination locations. You must have permission to create storage credentials and external locations.
To create storage credentials, first, create an access connector for Azure Databricks. Assign that access connector while creating storage credentials.
Grant the managed identity access to the storage account. You must have the Owner or User Access Administrator Azure RBAC role to grant permission to access your storage account.
Log in to your Azure Data Lake Storage Gen2 account.
Go to Access Control (IAM), click + Add, and select Add role assignment.
Select the Storage Blob Data Contributor role and click Next.
Under Assign access, select a Managed identity.
Click +Select Members, and select Access connector for Azure Databricks or User-assigned managed identity.
Search for your connector name or user-assigned identity, select it, and click Review and Assign.
Fetch the ABFSS path till the parent directory of your respective storage account.
On the Unity Catalog page, go to external locations and create a new external location by providing an external location name, newly created Storage credential, and fetched ABFSS URL. The URL format should be in abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path>
Test the newly created external location by clicking the 'Test connection' button. This will validate the connection with the external location path. Through the permissions tab, assign your user the CREATE EXTERNAL TABLE role.
Go to semantic model Advanced Properties, and add the following properties:
temp catalog name for create parquet table = kyvos.sqlwarehouse.catalog
temp database name for create parquet table = kyvos.sqlwarehouse.tempdb
You must have 'create table and Use schema' permissions on the temp catalog.
Creating Azure SQL Warehouse connection with no Spark
To create Azure SQL Warehouse connection for processing semantic models without Spark, perform the following steps.
From the Toolbox, click Connections.
From the Actions menu ( ⋮ ) click Add Connection.
Enter the following details:
Parameter/Field | Comments/Description |
Name | Enter a unique name for the connection. |
Category | Select the Warehouse option. There may be more than one warehouse connection. |
Provider | Select GENERIC, and enter provider details. |
Driver class | Provide the Driver class (com.databricks.client.jdbc.Driver )to connect to the Azure SQL DB. |
URL | In the URL field, enter the Databricks SQL Warehouse JDBC URL. For more information, see Microsoft documentation. |
User Name | Enter Databricks SQL Personal Access Token for the Databricks SQL workspace |
Password | Enter Databricks SQL Personal Access Token’s value for the Databricks SQL workspace |
Spark Read Method | Enter Spark Read Method as JDBC |
Schema Enabled | By default, the checkbox is selected as this connection can only be used to read data (creating datasets) on which the semantic model will be created. |
Properties | Click Properties to view or set properties. |
After you finish configuring the settings using the table shown below the screenshot, click the Test button from the top left to validate the connection settings.
If the connection is valid, click the Save button.