将数据从 Databricks 加载到 Azure Analysis Services (AAS)

VB_*_*VB_ 5 azure powerbi databricks azure-analysis-services

客观的

\n

我将数据存储为 ADLS gen2 中的 Delta Lake 格式。此外,它们还可以通过 Hive 目录获得。\n值得注意的是,我们目前使用的是 PowerBI,但将来我们可能会通过 AAS 切换到 Excel。

\n

问题

\n

将 AAS 连接到 Delta Lake 格式的 ADLS gen2 数据的最佳方法(或破解)是什么?

\n

问题

\n

AAS 支持的源中没有 Databricks/Hive 。AAS 通过 Blob 连接器支持 ADLS gen2,但据我所知,它不支持 Delta Lake 格式,仅支持 parquet。

\n

可能的解决方案

\n

从这篇文章中我发现这个问题可能可以通过PowerBI 本地 API 网关得到解决:

\n
\n

一个示例是 Azure Analysis Services (AAS)\n和 Databricks 之间的集成;Power BI 有一个连接到 Databricks 的本机连接器,但\n此连接器尚未连接到 AAS。\xe2\x80\x99t。为了弥补这一点,我们必须部署具有 Power BI 数据网关的虚拟机并安装 Spark 驱动程序,以便从 AAS 连接到 Databricks。这不是一个表演障碍,但当 AAS 拥有更多本机 Databricks 连接时,我们会很高兴。

\n
\n

此解决方案的问题是我们计划停止使用 PowerBI。我不太明白它是如何工作的,它需要什么 PBI 许可证和实施/维护工作。您能否更深入地了解其工作原理?

\n

UPD,2020 年 12 月 26 日

\n

现在,当Azure Synapse Analytics 正式发布时,它完全支持 SQL 按需操作。这意味着无服务器 Synapse 理论上可以用作 AAS 和 Delta Lake 之间的粘合剂。请参阅“从 Azure Synapse 直接查询 Databricks Delta Lake”

\n

同时,是否可以使用 ODBC 从 Synapse 按需查询 Databricks 目录(内部/外部)?Synapse支持 ODBC 作为外部源

\n

Jon*_*Jon 5

Power BI Dataflows 现在支持 Parquet 文件,因此您可以从这些文件加载​​到 Power BI,但标准设计模式是使用 Azure SQL 数据仓库加载文件,然后在其上分层 Azure 分析服务 (AAS)。AAS 不支持 parquet,您必须创建最终表的 CSV 版本,或将其加载到 SQL 数据库。

如前所述,典型的架构是让 Databricks 执行部分或全部 ETL,然后让 Azure SQL DW 对其进行处理。

在此输入图像描述

Azure SQL DW 现已演变成 Azure Synapse,但这样做的好处是 Databricks/Spark 数据库现在拥有卷影副本,但可以通过 SQL on Demand 功能进行访问。SQL on Demand不需要拥有 Azure Synapse 数据仓库组件的实例,它按需运行,并且您可以按每 TB 的查询运行。这里有一个关于它如何提供帮助的很好的概述。另一种选择是让 Azure Synapse 将外部表中的数据加载到该服务中,然后将 AAS 连接到该服务。