DEV Community

Reiji Otake
Reiji Otake

Posted on

Fabric & Databricks Interoperability (2): Configuring Hub Storage

Introduction

This article provides a detailed guide on how to configure settings for the following use cases:

  • Using tables created in Databricks within Fabric
  • Using tables created in Fabric within Databricks

:::note info
This article is part of a four-part series:
1. Overview & Purpose of Interoperability

2. Detailed Configuration of Hub Storage (This Article)

3. Using Tables Created in Fabric within Databricks

4. Using Tables Created in Databricks within Fabric

:::

Preparing Azure Data Lake Gen2 (ADLS2) as the Hub

① Deploy a storage account in Azure Portal as the hub

:::note warn
Enable hierarchical namespace.
:::

② Create a container named 'hub' and a directory named 'ext'

image.png

Connecting Fabric to Hub Storage

① Create a Lakehouse

:::note warn
Enable Lakehouse schema (public preview).
:::
image.png

② Specify the hub storage in the new schema shortcut of the Lakehouse

From [Tables] in the Lakehouse, click the three-dot menu and select [New Schema Shortcut].
image.png

Select [Azure Data Lake Gen2].
image.png

Enter the details for creating a new connection.
image.png

:::note info

How to check ADLS2 access URL:

You can confirm it from the storage account's [Endpoints] section under 'Data Lake Storage'.
image.png
:::

Enable the 'ext' directory and click [Next].
image.png

Click [Create].
image.png

The 'ext' directory is created as an external schema shortcut.
image.png

Connecting Databricks to Hub Storage

① Create an access connector for Azure Databricks in the Azure Portal

Follow the steps under "Step 1: Create an Access Connector for Azure Databricks" in the "Use Azure Managed Identity to Access Storage in Unity Catalog" guide, using a system-assigned managed identity.

② Grant the connector access to the hub storage from the Azure Portal

Follow "Step 2: Grant Managed Identity Access to the Storage Account" in the same guide.

③ Create storage credentials in Databricks

Log in to Databricks and navigate to [Catalog] > [+] > [Add Storage Credentials].
image.png

Add new storage credentials.
| | Input Value |
|:-:|:-:|
|Storage Credentials or Service Credentials| Storage Credentials |
|Credential Name| Any name |
|Access Connector ID| Resource ID of the connector created in step ① (can be confirmed in Azure Portal) |

image.png

After creation, click the newly created credential name.
image.png

Click [Permissions] > [Grant].
image.png

Grant [ALL PRIVILEGES] to necessary users.
image.png

:::note info
Reference for steps and required permissions:

Create Storage Credentials for Connecting to Azure Data Lake Storage Gen2
:::

④ Add an external location in Databricks

Log in to Databricks and navigate to [Catalog] > [+] > [Add External Location].
image.png

Create a new external location.
| | Input Value |
|:-:|:-:|
|External Location Name| Any name |
|URL| abfss://directory-name (hub) @ storage-account-name.dfs.windows.net |
|Storage Credentials| Select the credentials created in step ③ |

image.png

:::note info

How to determine the URL:

Refer to the storage account's [Endpoints] section used in step ② of "Connecting Fabric to Hub Storage".
:::

:::note info
Reference for steps and required permissions:

Create an External Location to Connect Cloud Storage to Azure Databricks
:::

Conclusion

Now everything is set up!

Next, let's proceed with the actual interoperability of tables.

▽ Next Article

FabricとDatabricksの相互運用性③:Fabric で作成したテーブルをDatabricksで利用する(Databrickで閲覧・分析・編集可能) #BI - Qiita

はじめにFabricで作成したテーブルをDatabricksでもシームレスに参照・編集が可能できるのか?このような疑問を持つ方も少なくないと思います。そこで今回はFabric で作成したテー…

favicon qiita.com

▽ Previous Article

FabricとDatabricksの相互運用性①:hubストレージの目的 -Databricks で作成したテーブルをFabricで利用する、Fabricで作成したテーブルをDatabricksで利用する- #Azure - Qiita

はじめにそれぞれの特徴がありつつも、大枠ではできることが似ているMicrosoft FabricとDatabricks。Azure Databricks Unity カタログのミラーリングを通…

favicon qiita.com

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay