Vertica 集成 Microsoft Power BI¶
关于 Vertica 连接指南¶
Vertica 连接指南提供将第三方合作伙伴产品连接到 Vertica 的基本说明。连接指南基于我们在特定版本的 Vertica 和合作伙伴产品上的测试。
最新测试版本¶
| 组件 | 版本 |
|---|---|
| Power BI Desktop | 版本 2.104.941.0 64-bit(2022 年 5 月) |
| Power BI Service | 版本 13.0.18400.37 |
| Power BI Standard Mode On-premises Data Gateway | 版本 3000.126.8(2022 年 5 月) |
| 桌面平台 | Windows Server 2019 |
| Vertica 客户端 | Vertica 10.1 ODBC 驱动(Vertica 命名连接器)/ Vertica 11.1.1 ODBC 驱动(通用 ODBC 连接) |
| Vertica 服务器 | Vertica 11.1.1 |
Power BI 概述¶
Power BI 是 Microsoft 公司的商业智能解决方案,提供分析数据和构建交互式仪表盘的工具,可在云端和移动设备上使用。Power BI 包含以下组件:
- Power BI Desktop:Windows 桌面应用程序,用于探索数据和构建报告。您可以将 Power BI Desktop 报告发布到 Web,并通过 Power BI Service 与他人共享。
- Power BI Service:软件即服务(SaaS)产品,用于查看和共享使用 Power BI Desktop 构建的数据报告。使用 Power BI Service 需要 Web 浏览器和电子邮件地址。
- Power BI Mobile:提供 Android、iOS 和 Windows Phone 的应用程序,允许在移动设备上查看发布到 Power BI Service 的报告。
- Power BI Report Server:Power BI Service 的本地部署版本。适用于客户希望在自己的基础设施上托管服务器的情况。需要 SQL Server Report Server 实例,发布周期与 Power BI Service 不同,并使用针对 Report Server 优化的独立 Power BI Desktop 安装。
注意: 本指南仅涉及 Vertica 与 Power BI Desktop 和 Power BI Service (SaaS) 的连接。
先决条件¶
在通过 Power BI Desktop 连接到 Vertica 之前,必须: 1. 安装并启动 Vertica。如果尚未安装 Vertica,请访问 Vertica 下载页面 下载 Vertica Community Edition。 2. 部署 VMart 示例数据库。本指南中的示例使用 VMart。
安装 Power BI Desktop¶
要下载 Power BI Desktop,请访问 Microsoft Power BI 下载页面。如果点击 Download,默认下载 64 位版本。要下载和安装 32 位版本,点击 Advanced download options 并按照说明操作。下载完成后,执行下载的文件并按照说明操作。
Power BI 连接模式 - DirectQuery vs Import¶
Power BI 通过 Vertica 的 ODBC 驱动程序连接到 Vertica,并通过两种方式之一访问数据:
DirectQuery 连接模式¶
此连接类型支持将 Power BI 报告生成的查询下推(push down)到您的 Vertica 数据库,仅将查询结果传输/导入 Power BI。连接后,数据保留在 Vertica 服务器上。
Import 连接模式¶
使用此连接类型时,Power BI Desktop 将数据从 Vertica 传输到 Power BI Desktop 缓存中。创建或与可视化交互时,Power BI Desktop 使用导入的数据来渲染可视化。导入的数据需要定期刷新以及映数据库中的最新更改。
从 Power BI Desktop 连接到 Vertica¶
当前 Power BI 提供两种连接到 Vertica 数据库的选项:
选项 1:Vertica 命名连接器(Vertica Named Connector)¶
允许针对 Vertica 数据库构建基于 DirectQuery 和基于 Import 的报告。Vertica 的 ODBC 驱动程序内置于 Vertica 命名连接器中。DirectQuery 从 Power BI Service 通过本地数据网关(on-premises data gateway)获得支持。
选项 2:通用 ODBC 连接¶
允许针对 Vertica 数据库构建基于 Import 的报告。必须下载并安装 Vertica 的 ODBC 驱动程序,并创建 Power BI 用于连接到 Vertica 的 ODBC DSN。需要在 Power BI Service 中通过网关调度定期刷新以查看数据库中的最新更改。
通过 Vertica 命名连接器连接¶
Power BI Desktop 使用内置于应用程序中的 Vertica ODBC 驱动程序连接到 Vertica。原生连接器不会使用或与系统上先前安装的现有 Vertica ODBC 驱动程序冲突。内置 ODBC 驱动程序版本为 9.2。
注意: 按设计,Vertica 命名连接器不允许编写 SQL 语句。此选项仅在通用 ODBC 连接的 Import 模式下可用。使用通用 ODBC 连接时,强烈建议编写 SQL 语句以缩小导入 Power BI 的数据量,并在处理大型数据集时提高性能。
连接步骤:
- 打开 Power BI Desktop。
- 点击主页菜单中的 Get Data 图标。
- 在搜索框中输入 Vertica,或从连接器列表的 Database 中选择它。
- 点击 Connect。
- 在连接窗口中,输入 Vertica 数据库的连接信息。
- 选择 Data Connectivity mode。默认选择 Import。
- 点击 OK。
- 如果提示,输入数据库用户名和密码。
- 点击 Connect。
- 在 Navigator 窗口中,展开数据库名称以查看模式列表。
- 展开感兴趣的模式,选择要用于分析的表。
- 点击 Load。
加载完成后,所选表和列出现在窗口右侧的 Fields 下。
或者,要在 Load 之前过滤、转换和塑造数据,点击 Transform Data 打开 Power Query Editor。
通过通用 ODBC 连接连接¶
安装 Vertica ODBC 驱动程序¶
- 访问 Vertica 客户端驱动程序页面。
- 下载 Windows 的客户端驱动程序包。
注意: Vertica ODBC 驱动现在向前和向后兼容。更多信息请参见 Vertica 文档。
- 双击安装程序并按照提示安装 ODBC 驱动程序。
创建 ODBC DSN¶
Power BI Desktop 提供 64 位和 32 位版本。如果安装 32 位版本,创建 32 位 DSN;如果安装 64 位版本,创建 64 位 DSN。
安装 ODBC 驱动程序后,需要设置 DSN 并配置 Report Unicode columns as char 设置。
创建连接¶
- 打开 Power BI Desktop。
- 在 Home 选项卡上,点击 Get Data。
- 在 Get Data 窗口中,点击 Other。
- 在可用连接列表中,选择 ODBC 并点击 Connect。
- 在 From ODBC 窗口中,从 Data source name (DSN) 下拉列表中选择您的 DSN。
- 通过编写查询或选择表来指定要导入的数据。
选项 A:提供查询导入数据(推荐用于大表)
在 From ODBC 窗口中,点击 Advanced options,在 SQL statement (optional) 下输入查询。
示例查询(从 VMart 的 inventory_fact 表检索数据):
SELECT
date,
full_date_description,
day_of_week,
calendar_month_name,
calendar_month_number_in_year,
calendar_year_month,
calendar_quarter,
calendar_year_quarter,
calendar_year,
public.product_dimension.product_key || public.product_dimension.product_version as product_version_key,
product_description,
sku_number,
category_description,
department_description,
package_type_description,
package_size,
fat_content,
diet_type,
warehouse_name,
warehouse_city,
warehouse_state,
warehouse_region,
qty_in_stock
FROM
public.inventory_fact INNER JOIN public.date_dimension
ON inventory_fact.date_key = date_dimension.date_key
INNER JOIN public.warehouse_dimension
ON inventory_fact.warehouse_key = warehouse_dimension.warehouse_key
INNER JOIN public.product_dimension
ON inventory_fact.product_key = product_dimension.product_key
AND inventory_fact.product_version = product_dimension.product_version
WHERE
public.date_dimension.date >= (DATE '2003-01-01') AND
public.date_dimension.date <= (DATE '2017-12-31') AND
discontinued_flag = 0;
选项 B:选择要导入的表
在 Navigator 窗口中,展开模式并勾选要导入的表。
提示:可以先选择事实表,然后点击 Select Related Tables 自动选择相关维度表。
从 Power BI Service 连接到 Vertica¶
在 Power BI Desktop 中设计报告后,可以选择将报告发布到 Power BI Service 以与其他用户共享。
Power BI On-Premises Data Gateway¶
Power BI Service 通过本地数据网关使用 DirectQuery 连接连接到 Vertica。
重要提示: 要在 Power BI Service 中刷新基于 Vertica 数据的数据集,需要本地数据网关。
配置步骤¶
1. 安装本地数据网关¶
从 Power BI 下载网站 下载标准模式的本地数据网关。双击下载的文件并按照提示安装。
注意: 应将网关安装在始终运行且 Power BI 用户可以随时访问的机器上。
2. 配置本地数据网关¶
- 登录 Power BI Service 账户。
- 在屏幕右上角的齿轮菜单中,点击 Manage gateways。
- 在 GATEWAY CLUSTERS 屏幕中,选择已安装的网关名称。
- 点击 On-premises data gateways 检查并确认网关已启动并显示为 Online。
- 在同一屏幕中,点击 DATA SOURCE 并点击 +NEW 创建连接。
- 在 New data source 屏幕中,从 Gateway cluster name 下拉列表中选择网关名称。
- 在 Data Source Name 框中输入 Vertica 数据源名称,从 Data Source Type 下拉列表中选择 Vertica。
- 输入 Vertica 数据库连接信息,包括 Server、Database,选择 Basic 作为认证方法,提供 Username 和 Password。
- 点击 Create。连接应显示为成功。
- 对要从 Power BI Service 访问的每个唯一 Vertica 连接重复步骤 5-8。
3. 配置已发布的报告¶
- 在 Power BI Service 屏幕右上角的齿轮菜单中,点击 Settings。
- 从顶部菜单中选择 Datasets。
- 选择要访问的报告,展开右侧的 Gateway connection。
- 选择已配置的网关,从 Maps to 下拉列表中选择报告使用的 Vertica 连接。
- 点击 Apply。
配置完成后,应该能够从 Power BI Service (SaaS) 打开已发布的报告。
故障排除¶
标准模式本地数据网关无法在 Power BI Service 中配置¶
问题: 标准模式本地数据网关无法从 Power BI Service 连接到 Vertica,显示错误消息。此问题影响 2020 年 5 月版本(3000.40.15)开始的所有标准模式本地数据网关版本。
解决方案: 从 https://www.microsoft.com/en-in/download/confirmation.aspx?id=48145 下载并安装 "Visual C++ Redistributable Packages for Visual Studio 2015",安装在运行标准模式本地数据网关的机器上。
DirectQuery 不支持 DAX 函数/转换¶
问题: 在 DirectQuery 模式下工作时,不支持 DAX 函数。
解决方案: 如果需要对数据进行建模和构建报告,尝试在 Vertica 中执行计算和转换,例如使用实时聚合投影(live aggregate projections)。将这些计算的执行下推到数据库,仅使用 Power BI 创建可视化。
字符串数据过大错误¶
问题: 尝试从某些 Vertica 数据类型加载数据时,看到错误:"String data right truncation"。
解决方案 1: 配置 Report Unicode columns as char 设置:
- 选择 Start > Control Panel > Administrative Tools > Data Sources (ODBC)。
- 点击 System DSN,选择 DSN,点击 Configure。
- 点击 Client Setting 选项卡。
- 选择 Report Unicode columns as char。
解决方案 2: 升级到 Power BI Desktop 2.35 或更高版本。
已知限制¶
数据类型限制¶
- CHAR、VARCHAR 和 LONG VARCHAR:Import 报告截断至 32766 个字符。DirectQuery 报告最多支持 32763 个字符,超过时显示 "Memory Error"。
- INTEGER 和 NUMERIC:最多支持 15 位精度,超过的值四舍五入。
- INTERVAL、BINARY、VARBINARY 和 LONG VARBINARY:不支持。
- DATE、TIMESTAMP 和 TIMESTAMPTZ:最小支持值为 01-01-0100。
- TIME、TIMESTAMP、TIMETZ 和 TIMESTAMPTZ:不显示毫秒。
- TIMETZ 和 TIMESTAMPTZ:不显示时区偏移量。
原文来源:https://www.vertica.com/kb/HPE-Integration-with-Microsoft-Power-BI-Connection-Guide/Content/Partner/HPE-Integration-with-Microsoft-Power-BI-Connection-Guide.htm