如何从Tabular Model或Power BI数据集向AzureML Studio导入数据并解决pyadomd安装问题
Tabular Model/Power BI数据集接入AzureML Studio解决方案
方案1:修复pyadomd安装报错
Failed building wheel for pythonnet报错本质是缺少pythonnet的编译依赖,按你使用的AzureML计算环境执行对应操作即可:
- Linux计算集群操作命令:
- 先安装系统依赖:
sudo apt-get update && sudo apt-get install -y mono-devel clang libglib2.0-dev python3-dev - 安装指定兼容版本避免冲突:
pip install pythonnet==3.0.1 pyadomd==0.1.1
- 先安装系统依赖:
- Windows计算实例操作步骤:
- 先安装.NET SDK 6.0及以上版本
- 直接执行安装命令:
pip install pyadomd
安装完成后即可传入SSAS/Power BI的连接字符串、提交DAX/MDX查询获取数据。
方案2:无需pyadomd的替代接入方案
方案2.1 调用Power BI REST API拉取数据
该方案无需编译类依赖,适配所有AzureML计算环境:
- 先在Azure AD中注册应用,为其授予Power BI数据集的只读访问权限
- 调用Power BI的
ExecuteQueries接口提交DAX/MDX查询,接口返回JSON格式的查询结果,直接用pandas转换为DataFrame即可用于后续建模 - 支持实时查询数据,不需要额外的中转存储成本
方案2.2 中转存储导出方案
如果对数据实时性要求不高,该方案运维成本最低:
- 配置Power BI数据流/定期刷新任务,将数据集结果导出到Azure Blob存储或ADLS Gen2
- 在AzureML Studio中直接挂载对应存储账户,即可直接读取结构化数据,无需编写连接逻辑
方案2.3 使用.NET交互式内核
若可以更换Notebook运行内核:
- 在AzureML Notebook中选择.NET C#内核,直接安装
Microsoft.AnalysisServices.AdomdClientNuGet包建立连接 - 查询得到的结果可以直接转换为pandas DataFrame,供后续Python代码调用
内容的提问来源于stack exchange,提问作者SqHu
相关产品推荐
相关产品推荐

