Power BI如何连接Azure Databricks数据源?

故事背景:

近期有朋友询问,自己公司有一些项目使用了Azure Databricks用于数据存储。如何使用Power BI Desktop桌面开发软件连接Azure Databricks的数据源呢?

解决方案:

其实Power BI是提供了连接Azure Databricks数据源的选项的,只是配置起来稍微麻烦一点,需要确认的信息多一点。

前提条件需要准备Azure Databricks数据源4项信息:

1) 服务器主机名

2) HTTP路径

3) 默认目录

4) 数据库


如何获取azure databricks数据源4项信息:

1. 登录到 Azure Databricks 工作区。

2. 找到服务器主机名和HTTP路径: 点击【Compute】-> 在【All-purpose compute】中找到使用的集群名称 -> 点击集群名称(下图为例集群名称为HighConcurrency)

然后在【Advanced options】高级选项中 -> 点击【JDBC/ODBC】 -> 然后就可以找到‘服务器主机名’和‘HTTP路径’两个信息,拷贝出来备用。

<think> 我们正在讨论Power BI连接Delta Sharing数据源的方法。 根据之前的对话历史,用户首先遇到了连接时数据丢失的问题,我们给出了排查步骤。现在用户明确询问连接方法,因此需要提供标准连接流程和最佳实践。 步骤: 1. 准备Delta Sharing配置文件:通常是一个.share文件或JSON配置。 2. Power BI中安装Delta Sharing连接器(需要较新版本)。 3. 在Power BI Desktop中获取数据,选择Delta Sharing连接器,然后输入配置文件的路径或URL。 4. 选择需要加载的数据表。 注意:Delta Sharing连接器在Power BI中是通过一个认证的连接器实现的,它使用REST协议来读取Delta Sharing服务器上的表。 详细步骤: 步骤1:获取Delta Sharing配置文件 - 通常由数据提供者提供,文件扩展名为.share,内容示例: ``` { "shareCredentialsVersion": 1, "endpoint": "https://<your-delta-sharing-server-url>/delta-sharing/", "bearerToken": "<your-token>" } ``` 步骤2:在Power BI Desktop中连接 - 打开Power BI Desktop - 选择“获取数据” → 搜索“Delta Sharing” → 选择“Delta Sharing”连接器 - 在对话框中,可以选择上传配置文件(.share文件)或直接输入配置文件的URL(如果托管在网络上) - 点击“确定”,然后进行身份验证(通常使用令牌) 步骤3:导航和选择数据 - 连接成功后,会显示Delta Sharing服务器上可用的共享(shares)、模式(schemas)和表(tables) - 选择所需的表,然后可以加载到Power BI中 步骤4:数据加载模式 - 可以选择导入(Import)模式或直连(DirectQuery)模式。注意:Delta Sharing连接器目前可能只支持导入模式。 替代方法(如果连接器不可用): 方法1:使用Python脚本 在Power BI中可以使用Python脚本通过delta-sharing库读取数据,然后转换为Power BI数据模型。 步骤: 1. 在Power BI中获取数据,选择“Python脚本” 2. 输入脚本: ```python import delta_sharing # 加载配置文件 profile_path = "https://example.com/profile.share" # 表URL格式:<profile_path>#<share>.<schema>.<table> table_url = f"{profile_path}#share_name.schema_name.table_name" # 读取为Pandas DataFrame df = delta_sharing.load_as_pandas(table_url) # 输出DataFrame df ``` 3. Power BI会执行脚本并将df加载为表。 方法2:通过Spark代理(使用ODBC) 如果Delta Sharing服务器允许,可以设置一个Spark集群作为代理,然后使用Power BI的Spark连接器(通过ODBC)连接。 注意事项: - 网络要求:确保Power BI服务可以访问Delta Sharing服务器的URL(通常为443端口)。 - 认证:使用Bearer Token进行认证,确保令牌有效且有权限。 - 数据量:对于大数据集,考虑在Delta Sharing服务器端进行筛选,或使用增量加载。 最后,生成相关问题。 </think> 以下是 Power BI 连接 Delta Sharing 数据源的详细方法及最佳实践,涵盖标准流程和替代方案: --- ### **一、标准连接方法(官方连接器)** #### **步骤1:环境准备** 1. **Power BI 版本要求** - Power BI Desktop ≥ 2023年6月版本(建议最新版) - 安装 Delta Sharing 连接器:[Microsoft Store 下载链接](https://aka.ms/deltasharingpowerbi) 2. **Delta Sharing 配置文件** 获取数据提供方提供的 **`profile.share`** 文件,内容格式示例: ```json { "shareCredentialsVersion": 1, "endpoint": "https://<delta-sharing-server>/delta-sharing/", "bearerToken": "xxxxxx" } ``` #### **步骤2:Power BI 连接流程** 1. **数据源配置** - 打开 Power BI → 获取数据 → 搜索 "**Delta Sharing**" - 上传 `profile.share` 文件或输入配置文件 URL - 身份验证选择 **"匿名"**(Bearer Token 已包含在配置中) ![Delta Sharing 连接界面](https://learn.microsoft.com/zh-cn/power-bi/connect-data/media/delta-sharing-connector/delta-sharing-connector-01.png) 2. **加载数据** - 导航器显示可用共享(Shares)、模式(Schemas)和表(Tables) - 勾选目标表 → 点击 **"加载"**(全量导入)或 **"转换数据"**(Power Query 编辑) #### **步骤3:关键配置项** | **配置项** | **推荐值** | **作用** | |--------------------|--------------------------|-----------------------------| | **数据隐私级别** | 组织/公共 | 避免混合查询隐私错误 | | **查询折叠** | 启用谓词下推 | 显著减少数据传输量 | | **增量刷新** | 按时间分区列配置 | 仅加载新数据[^1] | --- ### **二、替代连接方案** #### **方案1:Python 脚本中转(适合大数据集)** ```python # Power BI 的 Python 脚本数据源 import delta_sharing profile = "https://example.com/profile.share" table_url = f"{profile}#share.schema.table" # 分块读取数据 (避免内存溢出) df = delta_sharing.load_as_pandas(table_url, limit=1000000) df.to_parquet("output.parquet") # 输出到文件 ``` > **操作步骤**:Power BI → 获取数据 → Python 脚本 → 粘贴上述代码 → 加载生成的 Parquet 文件 #### **方案2:Spark 代理层(企业级)** ```mermaid graph LR A[Power BI] --> B(Spark ODBC 连接) B --> C[Databricks 集群] C --> D[Delta Sharing 表] ``` 1. 在 Databricks 中创建 Delta Sharing 表的目录视图: ```sql CREATE VIEW catalog.db.view AS SELECT * FROM delta_sharing.share.schema.table; ``` 2. Power BI 通过 **Simba Spark ODBC 驱动** 连接目录视图 --- ### **三、连接故障排查表** | **问题现象** | **解决方案** | |---------------------------|------------------------------------------| | 连接器未显示 | 检查 Power BI 版本 ≥ 2023.6 | | "无效凭证"错误 | 更新 `profile.share` 的 Bearer Token | | 加载超时 | 在 Power Query 中添加 `timeout=600` 参数 | | 查询返回部分数据 | 启用查询折叠 $$ \text{WHERE } partition\_col \geq \text{'2024-01-01'} $$ | --- ### **四、最佳实践** 1. **性能优化** - 在 Delta Sharing 服务端启用 **Z-Order 优化** ```sql OPTIMIZE table_name ZORDER BY (timestamp_column); ``` - Power BI 启用 **Aggregations 功能** 聚合大表 2. **安全建议** - 使用 **Azure Key Vault** 存储 `bearerToken` - 防火墙放行 Delta Sharing 端点域名和端口(默认 **443/TCP**) > **技术原理**:Delta Sharing 通过 REST 协议传输 Apache Arrow 格式数据流,Power BI 连接器将其转换为列式存储模型[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值