全部产品
Search
文档中心

实时数仓Hologres:Qlik

更新时间:May 10, 2024

Qlik 是经典的商业智能分析软件,其家族拥有Qlik Sense等多款BI软件。它使您能够快速开发和交付交互式指导分析应用程序和仪表板。本文为您介绍Qlik Sense Desktop如何连接 Hologres并可视化分析数据。

使用限制

已知限制

  • Qlik Sense暂不支持同步PostgreSQL中外部表的表结构,因此无法在如下页面中查询到外部表元数据。使用限制

  • 该限制不影响直接使用SQL语句查询,如下图所示。SQL查询

Qilk暂不支持可视化显示Hologres的外部表,但是您可以在数据加载编辑器中通过SQL语句查询外部表并可视化分析。

Qlik Sense Desktop连接Hologres

  1. 安装Qlik Sense Desktop

    安装Qlik Sense Desktop,详情请参见Qlik官方文档

  2. 连接Hologres

    1. 打开Qlik Sense Desktop,在页面右上方单击创建新应用程序创建应用程序

    2. 创建新应用程序弹框,为应用程序命名后,单击创建创建

    3. 在弹框中单击打开应用程序,在应用程序对应页面添加数据,单击从文件和其他源添加数据打开应用程序

    4. 在弹框中选择PostgreSQL创建新的连接,配置参数信息。postgres

      参数

      描述

      Host name

      Hologres实例的公共网络地址。进入Hologres管理控制台的实例详情页,从网络信息区域获取网络地址。

      Port

      Hologres的实例端口。进入Hologres管理控制台的实例详情页,从网络信息区域获取端口。

      Database

      Hologres创建的数据库名称。

      User Name

      当前阿里云账号的AccessKey ID。获取方式请参见创建访问密钥

      Password

      当前阿里云账号的AccessKey Secret。获取方式请参见创建访问密钥

    5. 单击测试连接,如果提示Connection succeeded,则表示连接成功。您可以单击弹框右下角的创建,保存新的连接信息。保存连接信息

    6. 配置PostgreSQL数据连接。public

      • 选择目标Owner(即Hologres中的 schema),此处您可以选择public

      • Tables区域选择需要分析的表。

    7. 单击下方的添加数据,添加数据执行完毕后,Qlik Sense会将数据从Hologres导入Qlik Sense,您可以在Qilk查看Hologres中的数据。

      说明

      使用该模式Qlik Sense会将数据全部加载到Qlik Sense的引擎中,并非根据页面操作实时发送查询到数据库。

  3. 配置Direct Query模式

    在日常生产场景中,数据库会包含PB级数据,建议您在Qlik Sense中使用Direct Query模式,而不用将数据导入Qlik Sense,关于Direct Query模式的详细解释,请参见Qlik官方文档

    1. 打开之前创建的应用,在页面上方选择数据管理器 > 数据加载编辑器打开数据加载编辑器

    2. 在页面右侧显示数据源连接信息,单击右下方的插入图标,将连接信息插入到编辑器中。插入连接字符串

    3. 在脚本编辑器中查询脚本的最前方,输入Direct Query,即可启用 Direct Query 模式。样例数据图示和脚本如下所示:启用query

      SET ThousandSep=',';
      SET DecimalSep='.';
      SET MoneyThousandSep=',';
      SET MoneyDecimalSep='.';
      SET MoneyFormat='¥#,##0.00;-¥#,##0.00';
      SET TimeFormat='TTh:mm:ss';
      SET DateFormat='YYYY/M/D';
      SET TimestampFormat='YYYY/M/D TTh:mm:ss[.fff]';
      SET FirstWeekDay=6;
      SET BrokenWeeks=1;
      SET ReferenceDay=0;
      SET FirstMonthOfYear=1;
      SET CollationLocale='zh-CN';
      SET CreateSearchIndexOnReload=1;
      SET MonthNames='1月;2月;3月;4月;5月;6月;7月;8月;9月;10月;11月;12月';
      SET LongMonthNames='一月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月';
      SET DayNames='周一;周二;周三;周四;周五;周六;周日';
      SET LongDayNames='星期一;星期二;星期三;星期四;星期五;星期六;星期日';
      SET NumericalAbbreviation='3:k;6:M;9:G;12:T;15:P;18:E;21:Z;24:Y;-3:m;-6:μ;-9:n;-12:p;-15:f;-18:a;-21:z;-24:y';
      
      LIB CONNECT TO 'PostgreSQL_hgpostcn-cn-st21y8nlm007-cn-hangzhou.hologres.aliyuncs.com';
      
      --输入 Direct Query,启用 Direct Query 模式
      DIRECT QUERY
      
      dimension
      l_shipmode,
      l_shipdate,
      o_orderstatus
      
      measure
      l_tax,
      l_quantity
      
      FROM public.lineitem INNER JOIN public.orders
      ON public.lineitem.l_orderkey = public.orders.o_orderkey;
    4. 单击窗口右上方的加载数据,Qlik Sense将发送即时查询。

    5. 在页面上方选择工作表 > 编辑工作表,开始创建可视化。编辑工作表

    6. 在编辑工作表页面,您可以在页面左侧单击图表,选择需要的图表类型创建可视化。

      说明
      • 直接拖动字段到画布,Qlik Sense无法生成Direct Query的查询,因此建议您单击图表创建可视化。

      • 鉴于Qlik Sense的处理逻辑,建议您先添加度量项,后添加维度项,以提高响应速度。

      编辑工作表

    更多关于Qlik Sense对数据操作和分析的介绍,请参见Qlik官方文档

使用自定义ODBC对接Hologres

如果需要在Qlik Sense的表向导模式中查询到外表,可以使用自定义ODBC的方式接对Hologres。

  1. 前提条件

    • 在Qlik Sense服务器端和客户端都需安装PostgreSQL的ODBC,您可以通过PostgreSQL的官网下载ODBC驱动。

    • 由于Hologres兼容PostgreSQL 11的生态,所以请务必安装Vpsqlodbc_11_01_0000以上的版本。

  2. 配置DNS

    • 你可以单击控制面板 > 管理工具,找到并打开ODBC 数据源(64位)管理工具。

    • 切换至系统 DSN 选项卡,单击添加按钮。

    • 在弹出的驱动器程序中选择 PostgreSQL Unicode(x64),然后单击完成按钮。

      说明

      用户 DSN 只有特定的用户可以调用,而系统 DSN 对该系统的所有登录用户可用。如果用户需要在 Web BI Server 通过 ODBC 访问 Hologres,应使用系统 DSN。

    • 在弹出的对话框中输入 Hologres 服务器信息,参数详细说明如下所示。服务器信息

      参数

      描述

      User Name

      当前阿里云账号的AccessKey ID。您可以单击AccessKey 管理,获取AccessKey ID。

      Password

      当前阿里云账号的AccessKey Secret。您可以单击AccessKey 管理,获取AccessKey Secret。

      Server

      Hologres实例的公共网络地址。进入Hologres管理控制台的实例详情页,从网络信息区域获取公共网络地址。

      Port

      Hologres的实例端口。进入Hologres管理控制台的实例详情页,从网络信息区域获取端口。

      Database

      Hologres的数据库名称。

    • 单击 Test 按钮,如显示如下页面,表示连接成功。成功

    • 单击保存,保存该 DSN。保存

  3. 连接Hologres

    配置完本地 DSN 并成功安装 Qlik Sense 后,可执行以下步骤来连接 Hologres 与 Qlik Sense。

    • 打开 Qlik Sense Desktop 应用程序。单击从文件和其他源添加数据

    • 在弹出的窗口单击 ODBC,以创建新的连接。弹出框

    • 从列表中选择此前创建的DSN,并填写名称。

    • 单击创建,以保存新的连接信息。之后您可以选择Owner(即 Hologres 中的 schema),例如选择 public,使用该链接方式即可读取外部表的Schema。创建

    • 您可以选择需要分析的表,单击添加数据, Qlik Sense 会从 Hologres 将数据导入 Qlik Sense,完成后您即可进行分析。添加数据

    说明

    使用该模式 Qlik Sense 会将数据全部加载至 Qlik Sense 的引擎中,并非根据页面操作实时发送查询至数据库。