本文旨在指导如何使用交互式分析(Hologres)快速查询MaxCompute海量数据并对接BI工具实现数据可视化的最佳实践,快速助力企业搭建一站式大数据开发平台。

背景信息

大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的EB级数据仓库解决方案,广泛适用于海量数据的T+1复杂分析。

阿里云2000元代金券免费领,最新优惠1折抢购,2核4G云服务器仅799元/3年,新老用户同享,立即抢购>>>

交互式分析(Hologres)在底层与MaxCompute无缝打通,支持新建外部表直接加速查询MaxCompute数据,无冗余存储,无数据导入导出作业,大大降低存储和运维成本,满足绝大部分业务的海量离线数据实时分析需求。同时Hologres兼容PostgreSQL生态,支持直接对接各种BI分析工具,您可以将Hologres中加速查询的MaxCompute数据直接对接BI分析工具,无需额外学习,也无需数据导出,就能满足实时多维分析透视和业务探索需求。

典型的Hologres加速查询MaxCompute业务链路如下图:

海量MaxCompute数据实时分析最佳实践_数仓搭建_最佳实践_交互式分析Hologres

前提条件

本最佳实践将会介绍Hologres如何加速查询MaxCompute海量数据,并以Tableau做最终的实时可视化展示完整链路。在开始之前,需要完成以下准备工作:

  1. 开通Hologres实例,并将实例绑定至DataWorks工作空间,详情可以参见HoloStudio快速入门
  2. 开通MaxCompute,详情请参见开通MaxCompute
  3. 下载并安装Tableau,详情可以参见Tableau
说明 MaxCompute与Hologres需要开通在同一个region,否则会出现访问不通的问题。

操作步骤

Hologres查询海量MaxCompute数据,并以Tableau可视化展示的具体操作步骤如下:

  1. MaxCompute数据源准备

    开通MaxCompute后,准备一张表并写入数据,数据来源将不再做讲述,可以参见创建和查看表。本次示例直接采用已有的MaxCompute表(数据共8亿条),其建表DDL如下:

    CREATE TABLE `ods_enterprise_share_trade_h` (     `trde_date` STRING,     `open` STRING,     `high` STRING,     `close` STRING,     `low` STRING,     `volume` STRING,     `price_change` STRING,     `p_change` STRING,     `ma5` STRING,     `ma10` STRING,     `ma20` STRING,     `v_ma5` STRING,     `v_ma10` STRING,     `v_ma20` STRING,     `turnover` STRING,     `code` STRING,     `ds` STRING );

    其部分数据展示如下:

    海量MaxCompute数据实时分析最佳实践_数仓搭建_最佳实践_交互式分析Hologres

  2. Hologres查询数据

    MaxCompute数据准备完成之后,可以使用Hologres新建外表方式直接加速查询MaxCompute数据。本次示例直接使用Hologres的开发平台HoloStudio完成。具体操作步骤如下:

    1. 新建外表

      登录DataWorks-HoloStudio,在HoloStudioPG管理选择新建外部表

      只需要输入MaxCompute表名,就能直接索引出当前表的字段,以及自动生成建表DDL语句,单击提交表即可新建一张外部表(数据仍然存储在MaxCompute中)。

      说明

      • 可以根据业务需要,只选择同步其中某些字段,或者建表成功后,手动增加/删除某些字段。
      • 支持跨工作空间查询MaxCompute数据,但当前暂不支持跨region查询。
      • sever为Hologres底层封装的外部服务器,名叫odps_server,无须用户自己创建,直接使用即可,相关原理可以参见fdw

      海量MaxCompute数据实时分析最佳实践_数仓搭建_最佳实践_交互式分析Hologres

    2. 数据查询

      建表成功后,在表内单击数据预览,即可看到当前MaxCompute表数据,无需数据导入导出,快速获取数据,示例显示如下:

      海量MaxCompute数据实时分析最佳实践_数仓搭建_最佳实践_交互式分析Hologres

      当前数据预览只展示部分数据,需要查看全部数据,可以在SQL Console模块使用sql命令查询。示例查某一天的数据:

      海量MaxCompute数据实时分析最佳实践_数仓搭建_最佳实践_交互式分析Hologres

  3. Tableau可视化分析

    Hologres加速查询的MaxCompute数据完成之后,可以直接对接Tableau对数据可视化分析展示,具体操作步骤如下:

    1. 连接Hologres

      在Tableau客户端选择PostgreSQL服务器,并填写连接信息。

      海量MaxCompute数据实时分析最佳实践_数仓搭建_最佳实践_交互式分析Hologres

      配置项 说明 备注
      服务器 Hologres的实例公共网络地址 Hologres管控台查看
      端口 Hologres的实例端口地址 Hologres管控台查看
      身份验证 用户名和密码
      用户名 当前阿里云账号的Access ID 用户信息页面查看
      密码 当前阿里云账号的Access Key 用户信息页面查看
      需要SSL 选择不需要
    2. 数据可视化展示

      Tableau成功连接Hologres之后,选择对应的外部表根据业务情况做可视化分析,示例展现如下:

      海量MaxCompute数据实时分析最佳实践_数仓搭建_最佳实践_交互式分析Hologres

    3. 更多关于tableau的数据可视化操作可以参见官网文档
    4. 您倾向于使用其他BI工具做可视化分析,可以参见常见BI分析工具概览