跳转至

Vertica 集成 OBIEE

概述

Oracle Business Intelligence Enterprise Edition (OBIEE) 是一个商业智能平台,提供即席查询、交互式仪表盘和移动分析等功能。OBIEE 帮助业务分析数据以制定战略业务决策。OBIEE 可用作 Windows 32 位或 64 位应用程序,使用 Vertica ODBC 驱动程序连接到 Vertica 数据库。

最新测试版本

软件 版本
OBIEE OBIEE 12c (12.2.1.4) 64-bit
OBIEE 平台 Windows Server 2019
Vertica 客户端 Vertica ODBC 12.0.0
Vertica 服务器 Vertica Analytic Database 12.0.0

OBIEE 连接指南

安装 OBIEE

OBIEE 是 Oracle Fusion Middleware 软件组的一部分。安装前请查阅 Oracle Fusion Middleware 系统要求和规范页面了解系统要求和先决条件。

从 Oracle Business Intelligence 12c 下载页面下载最新版本。必须以管理员身份安装 OBIEE。

安装 Vertica 客户端驱动

在通过 OBIEE 连接到 Vertica 前,必须安装 Vertica 客户端驱动包,其中包括 OBIEE 用于连接 Vertica 的 ODBC 客户端驱动。

  1. 导航到 Vertica 网站上的 Client Drivers 页面。
  2. 下载与 Vertica 服务器版本兼容的客户端包。
  3. 按照平台上对应的安装说明进行安装:
  4. Windows 客户端驱动安装
  5. Linux 和类 Unix 平台的客户端安装
  6. 按照文档创建 ODBC 数据源名称 (DSN)。

注意:有关客户端和服务器兼容性的更多信息,请参阅 Vertica 文档中的"客户端驱动和服务器版本兼容性"。

在 Windows 上连接 OBIEE 到 Vertica

安装 VMart 示例数据库

本文档使用 Vertica VMart 示例数据库创建从 OBIEE 到 Vertica 的连接。可按需安装 VMart。VMart 示例数据库包含三个模式:Public、Online_Sales 和 Store。

创建新的存储库 (Repository)

  1. 进入 Oracle_Home > user_projects > domains > bi > bitools > bin 目录,运行 admintool
  2. 选择 File > New Repository
  3. 输入新存储库详情:名称、位置、密码。
  4. 点击 Next
  5. 选择 Vertica 作为数据源连接类型,点击 Next
  6. 选择要从数据源导入的元数据类型和对象。
  7. 点击 Finish。导入的模式和表将显示在物理层中。

创建表连接 (Table Joins)

  1. 右键单击 Physical 部分的表,选择 Update Row Count
  2. 再次右键单击表,选择 Physical Diagram > Selected Object(s) Only
  3. 选择 New Join 图标建立连接,命名连接并保存。

创建业务模型 (Business Model)

  1. 右键单击 Business Model and Mapping 部分,选择 New Business Model
  2. 输入业务模型名称。

创建主题域 (Subject Area)

  1. 右键单击 Presentation 部分,选择 New Subject Area
  2. 命名主题域。

创建业务模型图

  1. 将有物理连接的表拖动到 Business Model and Mapping 部分。
  2. 右键单击所选表,选择 Business Model Diagram > Selected Tables and Direct Joins
  3. 保存业务模型图。

创建 RPD 文件

  1. 将表从 Business Model and Mapping 部分拖动到 Presentation 部分。
  2. 保存 RPD 文件。

上传 RPD 文件

使用 WebLogic 脚本命令 uploadrpd 上传存储库:

uploadrpd -I <RPDname> [-W <RPDpwd>] -SI <service_instance> -U <cred_username> [-P <cred_password>] [-S <hostname>] [-N <port_number>] [-SSL] [-H]

该脚本位于:<Oracle_Home>/user_projects/domains/bi/bitools/bin

在 Linux 上连接 OBIEE 到 Vertica

  1. 从 Vertica Client Drivers 页面下载 Linux 平台的 ODBC 驱动。
  2. 创建 vertica.ini 文件。OBIEE 12c 12.2.1.4 之前的版本:
ODBCInstLib=/home/obi/Oracle/Middleware/Oracle_Home/bi/common/ODBC/Merant/7.1.4/lib/libodbcinst.so
ErrorMessagesPath=/home/obi/vertica/opt/vertica/lib64
LogPath=/tmp/temp
LogLevel=6
DriverManagerEncoding=UTF-16

OBIEE 12c 12.2.1.4 及更新版本(Merant 已替换为 oracle.bi.datadirect.odbc):

ODBCInstLib=/home/obi/Oracle/Middleware/Oracle_Home/bi/common/ODBC/oracle.bi.datadirect.odbc/7.1.4/lib/libodbcinst.so
ErrorMessagesPath=/home/obi/vertica/opt/vertica/lib64
LogPath=/tmp/temp
LogLevel=6
DriverManagerEncoding=UTF-16
  1. odbc.ini 文件中创建 DSN:
vertica=Vertica DB
Driver = /home/obi/vertica/opt/vertica/lib64/libverticaodbc.so
Server=XX.XX.XX.XXX
Database=vertica_db
Port=5433
UserName=dbadmin
Password=vdb
Locale=en_US
OdbcConformanceLevel=3.0
ODBC64SqlHandleSize=64
ODBC64SqlLenSize=64
RebrandedLib=TRUE
  1. odbcinst.ini 文件中指定驱动位置:
[Vertica]
Description=Vertica driver
Driver=/home/obi/vertica/opt/vertica/lib64/libverticaodbc.so
  1. 编辑 obis.properties 文件,位于 /home/obi/Oracle/Middleware/Oracle_Home/user_projects/domains/bi/config/fmwconfig/bienv/OBIS/

OBIEE 12c 12.2.1.4 之前:

export LD_LIBRARY_PATH=/home/obi/Oracle/Middleware/Oracle_Home/bi/common/ODBC/Merant/7.1.4/lib:/home/obi/vertica/opt/vertica/lib64:$LD_LIBRARY_PATH
export VERTICAINI=/home/obi/vertica/opt/vertica.ini
export ODBCINI=/home/obi/Oracle/Middleware/Oracle_Home/user_projects/domains/bi/config/fmwconfig/bienv/core/odbc.ini

OBIEE 12.2.1.4 及更新版本:

export LD_LIBRARY_PATH=/home/obi/Oracle/Middleware/Oracle_Home/bi/common/ODBC/oracle.bi.datadirect.odbc/7.1.4/lib:/home/obi/vertica/opt/vertica/lib64:$LD_LIBRARY_PATH
export VERTICAINI=/home/obi/vertica/opt/vertica.ini
export ODBCINI=/home/obi/Oracle/Middleware/Oracle_Home/user_projects/domains/bi/config/fmwconfig/bienv/core/odbc.ini
  1. 重启 OBIEE 服务,然后上传 RPD 文件。

OBIEE 性能优化

数据库功能设置

连接 Vertica 时,可在 OBIEE 中自定义支持的功能列表,以优化效率。有两种修改方式:

  1. Database 对话框的 Features 选项卡中勾选或取消勾选功能值。
  2. Oracle_Bi_Home\server\Config\DBFeatures.INI 文件中添加或删除 feature_name_SUPPORTED 行。

推荐的数据库功能设置

功能 默认值 推荐值 操作 函数/运算符
CALENDAR_EXTRACT_DAY_OF_WEEK_SUPPORTED ON ON 下推 DAY_OF_WEEK()
CALENDAR_EXTRACT_DAY_OF_YEAR_SUPPORTED ON ON 下推 DAY_OF_YEAR()
CALENDAR_EXTRACT_HOUR_SUPPORTED ON ON 下推 HOUR()
CALENDAR_EXTRACT_MINUTE_SUPPORTED ON ON 下推 MINUTE()
CALENDAR_EXTRACT_MONTH_SUPPORTED ON ON 下推 MONTH()
CALENDAR_EXTRACT_QUARTER_OF_YEAR_SUPPORTED OFF ON 下推 QUARTER_OF_YEAR()
CALENDAR_EXTRACT_SECOND_SUPPORTED OFF ON 下推 SECOND()
CALENDAR_EXTRACT_WEEK_OF_YEAR_SUPPORTED ON ON 下推 WEEK_OF_YEAR()
CALENDAR_EXTRACT_YEAR_SUPPORTED ON ON 下推 YEAR()
TIMESTAMP_ADD_SUPPORTED ON ON 下推 TIMESTAMPADD()
TIMESTAMP_DIFF_SUPPORTED ON ON 下推 TIMESTAMPDIFF()
BETWEEN_SUPPORTED ON ON 下推 BETWEEN
LIKE_SUPPORTED ON ON 下推 LIKE
NULL_SUPPORTED ON ON 下推 IS NULL
BIT_LENGTH_SUPPORTED OFF ON 下推 BIT_LENGTH()
CHAR_LENGTH_SUPPORTED OFF ON 下推 CHAR_LENGTH()
OCTET_LENGTH_SUPPORTED OFF ON 下推 OCTET_LENGTH()
POSITION_SUPPORTED OFF ON 下推 POSITION()
TRIM_SUPPORTED (BOTH/LEADING/TRAILING) OFF ON 下推 TRIM
BOTTOMN_SUPPORTED OFF ON/OFF BOTTOMN
RANK_SUPPORTED OFF ON/OFF RANK
TOPN_SUPPORTED OFF ON/OFF TOPN
MOD_SUPPORTED OFF ON 下推 MOD
RAND_SUPPORTED OFF ON RAND
COUNT_DISTINCT_SUPPORTED ON ON 下推 COUNT DISTINCT
FIRST_SUPPORTED OFF ON 下推 FIRST_VALUE()
LAST_SUPPORTED OFF ON 下推 LAST_VALUE()
MEDIAN_SUPPORTED OFF ON 下推 MEDIAN()
STDDEV_POP_SUPPORTED OFF ON 下推 STDDEV_POP()
COUNT_STAR_SUPPORTED ON OFF COUNT(*)
UNION_SUPPORTED ON ON 下推 UNION
UNION_ALL_SUPPORTED ON ON 下推 UNION ALL
INTERSECT_SUPPORTED OFF ON 下推 INTERSECT
EXCEPT_SUPPORTED OFF ON 下推 EXCEPT
HAVING_SUPPORTED OFF ON HAVING
IN_SUBQUERY_SUPPORTED OFF ON WHERE IN
EXISTS_SUBQUERY_SUPPORTED ON ON 下推 WHERE EXISTS
LEFT_OUTER_JOIN_SUPPORTED ON ON 下推 Left Outer Join
FULL_OUTER_JOIN_SUPPORTED OFF ON 下推 Full Outer Join
NESTED_OUTER_JOIN_SUPPORTED OFF ON 下推 多表内外连接
DERIVED_TABLES_SUPPORTED ON ON 下推 子查询派生表
GROUP_BY_EXPR_SUPPORTED ON ON 下推 GROUP BY 表达式
DISTINCT_SUPPORTED ON ON 下推 DISTINCT
NULL_VALUES_SORT_FIRST OFF ON ORDER BY NULLS FIRST/LAST
EXPRESSIONS_IN_ORDERBY_SUPPORTED OFF ON CASE with ORDER BY
STDDEV_SAMP_SUPPORTED OFF OFF 下推 STDDEV()
ABS_SUPPORTED ON ON 下推 ABS()
ACOS_SUPPORTED ON ON 下推 ACOS()
ASIN_SUPPORTED ON ON 下推 ASIN()
ATAN_SUPPORTED ON ON 下推 ATAN()
ATAN2_SUPPORTED ON ON 下推 ATAN2()
CEILING_SUPPORTED ON ON 下推 CEILING
COS_SUPPORTED ON ON 下推 COS
EXP_SUPPORTED ON ON 下推 EXP
FLOOR_SUPPORTED ON ON 下推 FLOOR
LOG_SUPPORTED ON ON 下推 LOG
LOG10_SUPPORTED ON ON 下推 LOG10
POWER_SUPPORTED ON ON 下推 POWER
ROUND_SUPPORTED ON ON 下推 ROUND
SIN_SUPPORTED ON ON 下推 SIN
SQRT_SUPPORTED ON ON 下推 SQRT
TAN_SUPPORTED ON ON 下推 TAN
TRUNCATE_SUPPORTED ON ON 下推 TRUNCATE
SUM/AVG/COUNT/MIN/MAX_SUPPORTED ON ON 下推 聚合函数

OVER 分析函数和日期文字也在下推支持范围内。

OBIEE 优化设置

如果遇到 OBIEE 数据类型包装问题导致显示错误值,可使用以下解决方法:

在 OBIEE Analytics 环境中: 1. 进入 Criteria > 右键单击列 > Edit Formula。 2. 点击 Custom Headings。 3. 使用 cast 函数转换数据类型:

-- 整数转换
cast("TRAFFICO_NON_VALORIZZATO"."EntityId" as Numeric(9,0)) as Integer

-- 时间戳转换
cast("TRAFFICO_NON_VALORIZZATO"."TimeKey" as Timestamp)

必须始终使用 AL32UTF8 字符集创建 Repository 数据库。

使用 Explain Plan 分析查询

EXPLAIN SELECT sales_quantity, sales_dollar_amount, transaction_type, cc_name
FROM online_sales.online_sales_fact
INNER JOIN online_sales.call_center_dimension
ON (online_sales.online_sales_fact.call_center_key = online_sales.call_center_dimension.call_center_key
    AND sale_date_key = 156)
ORDER BY sales_dollar_amount DESC;

调整结果集行数限制

编辑 instanceconfig.xml 文件中的 <ResultRowLimit> 标签:

OBIEE Directory > Oracle_Home > user_projects > domains > bi > config > fmwconfig > biconfig > OBIPS > instanceconfig.xml

处理 OBIEE 并行查询问题

如果遇到 OBIEE 查询在 Vertica 中并行执行的问题:

  1. 登录 OBIEE 安装机器。
  2. 导航到 Progress DataDirect Driver Manager 的 lib 目录(例如 /home/oracle/middlewarehome/Oracle_BI1/common/ODBC/Merant/7.1.6/lib)。
  3. odbccurs.so 重命名为 odbccurs.so.OLD
  4. 重启所有 OBIEE 服务。
  5. 运行以下命令确认游标库不再加载:
    lsof -u oracle | grep odbccur
    

故障排查

表视图错误

如果在 Oracle BI Administration Tool 中查看表数据时遇到以下错误:

[NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred.

解决方法:

  1. 在 Physical 层右键单击 Connection Pool,选择 Properties
  2. 勾选 Require fully qualified table names
  3. 点击 OK。现在应该可以查看表数据了。

已知限制

  • CHAR、VARCHAR 和 LONGVARCHAR 数据类型最多显示 32678 个字符。
  • 整数类型超过 14 位后会四舍五入。
  • DECIMAL 类型不直接显示值,需选择 Override Default Data Format 选项,精度最多 15 位。
  • TIME、TIMESTAMP、TIMETZ 和 TIMESTAMPTZ 类型的毫秒部分会被截断。
  • TIMETZ 和 TIMESTAMPTZ 类型的时区信息不显示。

Vertica QuickStart for OBIEE

Vertica QuickStart for OBIEE 是一个示例 BI 应用程序,以 OBIEE 仪表盘集合的形式实现,由 Vertica Analytic Database 驱动。仪表盘展示示例零售数据以供分析。

下载

从以下位置下载 QuickStart: https://www.vertica.com/quickstart/vertica-quickstart-obiee/

要求

  • Vertica 数据库服务器(标准安装 VMart 示例数据库)
  • Vertica 客户端驱动
  • OBIEE 11.1.1.7.0 或更高版本

测试环境:OBIEE 11.1.1.7.0 + Vertica 7.2.2(7.2.x 系列均可使用)。

安装和设置

  1. 安装 Vertica 数据库服务器:从 Vertica Community Edition 页面下载并安装。
  2. 安装 VMart 示例数据库:按照 Vertica 文档中的说明安装。
  3. 安装 OBIEE:从 Oracle Business Intelligence 12c 下载页面下载并安装。
  4. 下载并安装 Vertica 客户端驱动:从 Vertica Client Drivers 页面下载对应操作系统和版本的客户端包。
  5. 创建 ODBC DSN
  6. 64-bit DSN:Start > Control Panel > Administrative Tools > Data Sources (ODBC)
  7. 32-bit DSN:C:\Windows\SysWOW64\odbcad32.exe
  8. 添加 Vertica 驱动,填写 DSN 名称、服务器、数据库、用户名。

部署 QuickStart

QuickStart 下载包包含:

  • VMart BI0011.rpd:RPD 存储库文件(元数据和数据模型定义)
  • VerticaQuickStartforOBIEE.catalog:目录文件(报告、提示和过滤器)

上传 RPD 文件

  1. 确保 OBIEE 服务器正在运行。
  2. 导航到 http://hostmachineIP:7001/em
  3. 登录后,选择 Business Intelligence > coreapplication > Deployment > Repository
  4. 点击 Lock and Edit Configuration
  5. 浏览选择 RPD 文件,输入密码 Admin123
  6. 点击 Activate Changes,然后重启。

部署 VMart OBIEE 目录

  1. 导航到 http://hostmachineIP:9704/analytics
  2. 登录后点击 Catalog
  3. 选择 Shared Folders > Dashboards
  4. 点击 Unarchive 选项卡,浏览选择 catalog 文件。

示例仪表盘

QuickStart 提供以下示例仪表盘: - Executive Dashboard:业务数据高级概览 - Online Sales Dashboard:在线销售业绩概览 - Store Sales Dashboard:实体店销售概览 - Call Center/Employee Overview Dashboard:员工区域数据和呼叫中心信息

参考


原文来源:https://www.vertica.com/kb/Configuring-OBIEE-for-Optimal-Performance-with-HPE-Vertica/Content/Partner/Configuring-OBIEE-for-Optimal-Performance-with-HPE-Vertica.htm