首页 多源集成,极致性能,搭建轻量OLAP分析平台

多源集成,极致性能,搭建轻量OLAP分析平台

更新时间: 2024-10-25 09:08:35

手动部署

100

https://www.aliyun.com/solution/tech-solution/hologres-olap

方案概览

DataWorks数据集成可以将Mysql、PG等数据库中数据进行单表、整库、分库分表实时同步到Hologres,也可以将Clickhouse等整体迁移到Hologres,整个过程全程界面化操作,方便简洁,按量付费成本低。数据存储在Hologres中,通过Hologres强大的查询性能,可以直接对数据进行查询。除了OLAP分析,还可以同时满足交互式分析、即席查询、KV查询等多种查询方式,构建有一站式实时数据分析平台。

方案架构

本方案基于阿里云实时数仓Hologres和DataWorks数据集成,通过简单的产品操作即可完成数据库RDS实时同步数据到Hologres,并通过Hologres强大的查询分析性能,完成一站式高性能的OLAP数据分析。

p823795

本方案的技术架构包含以下基础设施和云服务:

  • 数据源集成

    本方案以Github公共事件作为示例数据,数据存储在云数据库RDS MySQL中。

说明

更多数据源集成请参考数据导入导出,更多关于数据集的介绍请参见业务与数据认知

  • 网络资源

    • 1个专有网络VPC:为实时数仓Hologres、大数据开发治理平台DataWorks等云资源构建云上私有网络。

    • 1台交换机:将大数据开发治理平台DataWorks资源组和1个公网NAT网关连接在同一网络上,实现MySQL与DataWorks之间的通信。

  • 数据服务

    • 大数据开发治理平台DataWorks:通过DataWorks的数据同步功能,可以直接将实时数据流写入Hologres。

    • 实时数仓Hologres:与DataWorks的深度集成,支持海量数据实时写入与更新、实时数据写入即可查询。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值。

准备账号

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值。本方案的云资源支持按量付费,且默认设置均采用按量付费引导操作。如果确定任何一个云资源采用按量付费方式部署,账户余额都必须大于等于100元。

部署资源

30

创建专有网络VPC和交换机

您需要创建专有网络VPC和交换机,为云服务器ECS实例构建云上的私有网络。

  1. 登录专有网络管理控制台

  2. 在顶部菜单栏,选择华东1(杭州)地域。

  3. 在左侧导航栏,单击专有网络

  4. 专有网络页面,单击创建专有网络

  5. 创建专有网络页面,配置1个专有网络和1台交换机。

    项目

    说明

    示例值

    VPC名称

    建议您在部署过程中新建一个VPC作为本方案的专有网络。部署过程中填写VPC名称即可创建对应名称的VPC。

    长度为2~128个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和连字符(-)。

    VPC_Hologres

    IPv4网段

    在创建VPC时,您必须按照无类域间路由块(CIDR block)的格式为您的专有网络划分私网网段。阿里云VPC支持的网段信息请参见组成部分

    在网络规划时可以按照管理网段-开发网段-测试网段-生产网段等规则做好规划。网段一旦投入使用,调整过程复杂,因此规划十分重要。

    192.168.0.0/16

    Vswitch名称

    建议您在部署过程中在新建的VPC内创建虚拟交换机。部署过程中填写交换机名称即可创建对应名称的虚拟交换机。

    长度为2~128个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和连字符(-)。

    vsw_Hologres

    可用区

    建议选择排序靠后的可用区,一般此类可用区较新。新的可用区资源更充沛,新规格也会在新的可用区优先上线。

    可用区 J

    IPv4网段

    每台虚拟交换机需要一个IPv4网段

    192.168.1.0/24

创建RDS MySQL实例

本实践使用已存储在公共MySQL中的Github公共事件作为示例数据,公共MySQL信息如下表所示。

配置项

说明

JDBC连接地址

  • 主机地址IP:rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com

  • 端口号:3306

数据库名称

github_events_share

用户名

workshop

密码

workshop#2017

此密码仅为本教程示例,请勿在实际业务中使用。

如果您需要同步您的数据,需开通RDS MySQL数据库,详情请参见快速创建RDS MySQL实例

创建Hologres实例

  1. 登录Hologres管理控制台,在实例列表页面,单击新增实例引擎

  2. 在购买页面,按照以下配置项完成相应参数配置。

    配置项

    说明

    商品类型

    选择独享实例(按量付费)

    地域

    选择华东1(杭州)

    实例类型

    选择通用型

    可用区

    选择可用区 J。

    计算资源

    选择32核128G(计算节点数量:2)。

    专有网络(VPC)

    选择之前已创建的专有网络VPC。

    专有网络交换机

    选择之前已创建的专有网络交换机。

    实例名称

    本文以hologres_my。

    服务关联角色

    如果是首次购买Hologres,需在购买页底部单击创建服务关联角色

    • 角色名称:AliyunServiceRoleForHologresIdentityMgmt

    • 权限说明:Hologres使用此角色来访问您在其他云产品中的资源。

    资源组

    选择默认资源组

  3. 单击立即购买,确认订单,阅读并勾选协议,然后完成创建。

    说明

    Hologres的计算费用根据购买的计算资源规格以实例运行时长收费,存储费用按实际存储量以存储时长收费,按小时结算,即每1个小时扣费(结算)一次。详情请参见按量付费

  4. 实例创建成功后,创建Hologres数据库和内部表。

    说明

    Hologres独享实例(按量付费)实例会根据写入和查询操作消耗的计算资源进行计费,因此在进行相应操作时需谨慎操作,避免消耗资源。关于计费详情,请参见计费概述

    1. 单击刚创建的实例名称,进入实例详情页面,然后单击右上方的登录实例

    2. HoloWeb页面,选择元数据管理 > 数据库

    3. 新建数据库对话框中配置如下参数,并单击确认

      配置项

      说明

      实例名

      选择在刚创建的Hologres实例上创建数据库。

      数据库名称

      本示例数据库名称设置为holo_tutorial。

      权限策略

      选择SPM。更多关于权限策略的说明,请参见:

      • SPM:简单权限模型,该权限模型授权是以DB为粒度,划分admin(管理员)、developer(开发者)、writer(读写者)以及viewer(分析师)四种角色,您可以通过少量的权限管理函数,即可对DB中的对象进行方便且安全的权限管理。

      • SLPM:基于Schema级别的简单权限模型,该权限模型以Schema为粒度,划分 <db>.admin(DB管理员)、<db>.<schema>.developer(开发者)、<db>.<schema>.writer(读写者)以及 <db>.<schema>.viewer(分析师),相比于简单权限模型更为细粒度。

      • 专家:Hologres兼容PostgreSQL,使用与Postgres完全一致的权限系统。

      立即登录

      选择

    4. 选择SQL编辑器,然后单击image新建临时Query查询

    5. 临时Query查询页面,创建Hologres内部表,用于后续数据实时写入,示例代码如下。便于快速了解Hologres的开发,可参考Hologres开发规范

      -- 新建schema用于创建内表并导入数据
      CREATE SCHEMA IF NOT EXISTS hologres_dataset_github_event;
      
      DROP TABLE IF EXISTS hologres_dataset_github_event.hologres_github_event;
      
      BEGIN;
      CREATE TABLE hologres_dataset_github_event.hologres_github_event (
        id bigint PRIMARY KEY,
        actor_id bigint,
        actor_login text,
        repo_id bigint,
        repo_name text,
        org_id bigint,
        org_login text,
        type text,
        created_at timestamp with time zone NOT NULL,
        action text,    
        commit_id text,
        member_id bigint,
        language text
      );
      CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'distribution_key', 'id');
      CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'event_time_column', 'created_at');
      CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'clustering_key', 'created_at');
      
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.id IS '事件ID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.actor_id IS '事件发起人ID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.actor_login IS '事件发起人登录名';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.repo_id IS 'repoID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.repo_name IS 'repo名称';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.org_id IS 'repo所属组织ID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.org_login IS 'repo所属组织名称';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.type IS '事件类型';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.created_at IS '事件发生时间';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.action IS '事件行为';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.commit_id IS '提交记录ID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.member_id IS '成员ID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.language IS '编程语言';
      
      COMMIT;

开通DataWorks

  1. 进入DataWorks服务开通页,选择需要开通的产品配置。

    配置项

    说明

    地域

    选择华东1(杭州)

    DataWorks版本

    选择基础版

    DataWorks资源组

    选择资源组并配置网络信息。

    • 付费模式:选择按量付费

    • 专有网络(VPC):选择之前已创建的专有网络VPC。

    • 交换机(V-Switch):选择之前已创建的专有网络交换机。

    • 服务关联角色:您需具备如下服务关联角色才可开通资源组,请按照界面指引创建相关角色。

      • 角色名称:AliyunServiceRoleForDataWorks

      • 角色权限策略:AliyunServiceRolePolicyForDataWorks

  2. 确认配置无误后,勾选服务协议。

  3. 确认订单。

    说明

    某地域首次开通DataWorks服务后,平台自动为您创建默认工作空间,详情请参见默认工作空间内置逻辑说明

    1. 单击确认订单并支付,在资源校验对话框查看购买的商品详情。

    2. 资源校验无误后,单击下一步:价格清单,确认商品价格。

      说明

      价格清单包括DataWorks版本费用、资源组费用、MaxCompute产品费用及其他按量付费商品费用(即DataWorks按量付费)。

    3. 价格确认无误后,单击下一步:创建订单

    4. 进入待支付订单页面,单击支付进行购买。

  4. (可选)为DataWorks资源组的VPC配置NAT网关并绑定弹性公网IP(Elastic IP Address,简称EIP)。

    说明

    DataWorks新版资源组默认不具备公网访问能力,为确保公共MySQL(公网)与DataWorks之间的网络连通性,需要为VPC配置公网NAT网关并绑定EIP。详情请参见网络连通方案

    1. 登录专有网络管理控制台,选择NAT网关 > 公网NAT网关

    2. 公网NAT网关页面,单击创建NAT网关配置相关参数。

      配置项

      说明

      所属地域

      选择华东1(杭州)

      所属专有网络

      选择之前已创建的专有网络VPC。

      关联交换机

      选择之前已创建的专有网络交换机。

      实例名称

      自定义公网NAT网关名称。

      访问模式

      选择公网NAT网关的访问模式,本文选择VPC全通模式(SNAT)

      说明

      选择了VPC全通模式,在公网NAT网关创建成功后当前VPC内所有实例即可通过该公网NAT网关访问公网。

      弹性公网IP

      选择新购弹性公网IP

      系统会为您创建弹性公网IP,并绑定到当前的公网NAT网关。

      带宽峰值

      默认为200 Mbps, 建议设置为1 Mbps,避免产生更多费用。

    3. 单击立即购买,并在确认订单页面确认公网NAT网关的配置信息,选中服务协议并单击确认订单

      购买成功后,您可以在公网NAT网关页面查看已创建的公网NAT网关实例。

配置实时同步任务

45

  1. 配置数据源。

    1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的管理中心,在下拉列表中选择默认创建的工作空间,然后单击进入管理中心

    2. 选择左侧导航栏的数据源 > 数据源列表,然后单击新增数据源

      按照界面指引创建MySQL数据源和Hologres数据源,主要参数配置如下:

      • MySQL数据源(来源数据):

        配置项

        说明

        数据源名称

        自定义。本文以MySQLData为例。

        配置模式

        选择连接串模式

        JDBC连接地址

        单击新增地址,配置信息如下:

        • 主机地址IP:rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com

        • 端口号:3306

        输入数据库名称后,完整的JDBC URL为jdbc:mysql://rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com:3306/github_events_share。

        数据库名称

        github_events_share

        用户名

        workshop

        密码

        workshop#2017

        此密码仅为本教程示例,请勿在实际业务中使用。

        认证选项

        选择无认证

      • Hologres数据源(目标数据):

        配置项

        说明

        数据源名称

        自定义。本文示例为HologresData。

        认证方式

        默认为阿里云账号及阿里云RAM角色

        所属云账号

        选择当前阿里云主账号

        地域

        选择Hologres实例所在地域华东1(杭州)

        Hologres实例

        选择已创建的Hologres实例。

        数据库名称

        填写上述已创建的Hologres数据库名称holo_tutorial。

        默认访问身份

        选择阿里云主账号

        认证选项

        选择无认证

  2. 创建实时同步任务。

    1. 访问DataWorks数据集成页面。

    2. 同步任务页面,选择来源去向,单击开始创建

      • 来源:选择MySQL。

      • 去向:选择Hologres。

    3. 新建同步任务页面,配置任务相关信息。

      说明
      • 为保持公共数据源连接稳定,资源组与公共MySQL数据源创建连接后7天将进行释放,不影响资源组与您自己的MySQL创建的连接。

      • 基本配置

        • 新任务名称:Sync_Task。

        • 同步类型:整库实时。

      • 网络与资源配置

        • 数据来源:选择MySQLData。

        • 数据去向:选择HologresData。

        • 同步资源:选择开通DataWorks时创建的资源组,占用的CU量配置为2 CU。

    4. 单击测试所有连通性,确认数据源与资源组网络连通,测试连通后,单击下一步。关于网络连通详情,请参见网络连通方案

    5. 配置要同步的库表和目标表映射。

      1. 选择要同步的库表区域,勾选MySQL中的github_public_event表,添加至已选库表

        image

      2. 目标表映射区域,勾选对应表,单击批量刷新映射

      3. 目标Schema名目标表名修改为上述已创建Hologres内部表,然后单击完成配置

        image

        说明

        优先配置目标Schema名后再修改目标表名,否则会修改失败。

  3. 实时任务配置完成后,在任务列表页面,单击操作列中启动

    您可以单击同步任务名称,查看同步任务详情,预计50分钟左右数据同步任务将完成后,您可以前往Hologres进行实时数据分析。

完成及清理

15

方案验证

一、通过查看同步任务详情,验证DataWorks数据同步的过程

  1. 访问数据集成的同步任务页面,点击任务名称进入任务详情页。image.png

  2. 执行状态可以看到任务执行的进度,分为三个阶段:结构迁移、全量初始化、实时数据同步。image.png

  3. 启动实时数据同步后,点击页面下面的实时同步标签,可以查看详细的同步信息,这包括业务延时、已同步的数据条数以及数据同步的速率等关键指标。image.png

二、通过执行复杂查询,验证Hologres实现即席查询的能力

  1. 登录Hologres管理控制台,点击实例ID进入Hologres实例详情页。点击登录实例导航至SQL编辑器页面并点击新建SQL查询,运行如下示例命令,查询今日最活跃项目。

    SELECT
        repo_name,
        COUNT(*) AS events
    FROM
        hologres_dataset_github_event.hologres_github_event
    WHERE
        created_at >= CURRENT_DATE
    GROUP BY
        repo_name
    ORDER BY
        events DESC
    LIMIT 5;
  2. 查询执行完成后,结果将显示在SQL编辑器下方。

    repo_name	                             events
    --------------------------------------+---------
    Hardwaregore/gimmie-commits	           59672
    happyfish2024/mins	                   12626
    bullet-dev-team/demo-app-env-list	     9002
    bullet-dev-team/python-pyramid-public	 8255
    SSlam1234/StatSlamImagesCDN	           6618
  3. 点击“运行日志”检查详细的查询执行信息,特别是查询的响应时间。毫秒级的响应时间表明Hologres能够高效处理复杂的即席查询,满足快速数据分析的需求。image.png

清理资源

在体验完成本教程后,如果后续您不再使用,请及时释放相关资源,否则Hologres与DataWorks资源将会持续运行产生费用。

  1. 删除DataWorks资源组和同步任务。

    • 删除DataWorks资源组

      1. 登录DataWorks控制台,单击左侧导航栏的资源组列表

      2. 资源组列表页面,单击目标资源组操作列中image > 退订,并按照界面提示删除DataWorks资源组。

        说明

        删除DataWorks资源组时,预计1~2分钟后会释放相应的弹性网卡资源。弹性网卡资源释放后,才支持释放交换机资源。

    • 删除DataWorks同步任务

      1. 登录DataWorks控制台,单击左侧导航栏的数据集成,在下拉框中选择对应工作空间后单击进入数据集成

      2. 数据源页面,勾选MySQLData和HologresData数据源,然后单击批量删除,并按照界面提示删除同步任务。具体操作,请参见管理数据源

      3. 同步任务页面,选择操作更多 > 删除,并按照界面提示删除同步任务。

  2. 释放Hologres实例。

    登录Hologres管理控制台,在实例列表页面,单击运行状态列中的停机,然后单击删除,并按照界面提示释放实例。具体操作,请参见删除实例

  3. 解绑并释放弹性公网IP。

    1. 登录NAT网关管理控制台,选择公网访问 > 弹性公网IP

    2. 弹性公网IP页面,单击目标弹性公网IP实例操作列中的image > 强制释放,并按照界面提示进行解绑。

      说明

      通过强制释放,系统将优先解绑弹性公网IP资源和共享带宽包,然后再去释放EIP。

  4. 释放NAT网关。

    1. 登录NAT网关管理控制台,选择NAT网关 > 公网NAT网关

    2. 公网NAT网关页面,单击目标NAT网关实例操作列中的image > 删除,并按照界面提示进行删除NAT网关。

    说明

    公网NAT网关实例基本信息页面默认未开启删除保护。如开启,请关闭删除保护

  5. 释放交换机。

    登录专有网络管理控制台,在交换机页面,单击操作列中的删除,按照界面提示释放实例。具体操作,请参见创建和管理交换机

  6. 释放专有网络VPC。

    登录专有网络管理控制台,在专有网络页面,单击操作列中的删除,按照界面提示释放实例。具体操作,请参见创建和管理专有网络

一键部署

60

https://www.aliyun.com/solution/tech-solution/hologres-olap

方案概览

DataWorks数据集成可以将Mysql、PG等数据库中数据进行单表、整库、分库分表实时同步到Hologres,也可以将Clickhouse等整体迁移到Hologres,整个过程全程界面化操作,方便简洁,按量付费成本低。数据存储在Hologres中,通过Hologres强大的查询性能,可以直接对数据进行查询。除了OLAP分析,还可以同时满足交互式分析、即席查询、KV查询等多种查询方式,构建有一站式实时数据分析平台。

方案架构

本方案基于阿里云实时数仓Hologres和DataWorks数据集成,通过简单的产品操作即可完成数据库RDS实时同步数据到Hologres,并通过Hologres强大的查询分析性能,完成一站式高性能的OLAP数据分析。

p823795

本方案的技术架构包含以下基础设施和云服务:

  • 数据源集成

    本方案以Github公共事件作为示例数据,数据存储在云数据库RDS MySQL中。

说明

更多数据源集成请参考数据导入导出,更多关于数据集的介绍请参见业务与数据认知

  • 网络资源

    • 1个专有网络VPC:为实时数仓Hologres、大数据开发治理平台DataWorks等云资源构建云上私有网络。

    • 1台交换机:将大数据开发治理平台DataWorks资源组和1个公网NAT网关连接在同一网络上,实现MySQL与DataWorks之间的通信。

  • 数据服务

    • 大数据开发治理平台DataWorks:通过DataWorks的数据同步功能,可以直接将实时数据流写入Hologres。

    • 实时数仓Hologres:与DataWorks的深度集成,支持海量数据实时写入与更新、实时数据写入即可查询。

部署准备

10

开始部署前,请按以下指引完成账号申请、账号充值。

准备账号

  1. 如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

  2. 为阿里云账号充值。本方案的云资源支持按量付费,且默认设置均采用按量付费引导操作。如果确定任何一个云资源采用按量付费方式部署,账户余额都必须大于等于100元。

一键部署

40

一键部署基于阿里云资源编排服务ROS(Resource Orchestration Service)实现,ROS模板已定义好脚本,可自动化地完成云资源的创建和配置,提高资源的创建和部署效率。ROS模板完成部署的资源包括:

  • 专有网络VPC和交换机

  • Hologres实例

操作步骤

  1. 一键部署资源。

    1. 单击一键部署,在顶部导航栏选择地域华东1(杭州)

    2. 自定义资源栈名称并选择可用区,然后单击下一步

    3. 确定部署资源信息和价格,单击创建

      资源栈信息页面的状态显示为创建成功时表示一键配置完成,您可以在资源页签,查看一键部署的资源。

  2. 创建Hologres数据库和内部表。

    说明

    Hologres独享实例(按量付费)实例会根据写入和查询操作消耗的计算资源进行计费,因此在进行相应操作时需谨慎操作,避免消耗资源。关于计费详情,请参见计费概述

    1. 登录Hologres管理控制台,单击一键部署的Hologres实例名称,进入实例详情页面,然后单击右上方的登录实例

    2. HoloWeb页面,选择元数据管理 > 数据库

    3. 新建数据库对话框中配置如下参数,并单击确认

      配置项

      说明

      实例名

      选择在刚创建的Hologres实例上创建数据库。

      数据库名称

      本示例数据库名称设置为holo_tutorial。

      权限策略

      选择SPM。更多关于权限策略的说明,请参见:

      • SPM:简单权限模型,该权限模型授权是以DB为粒度,划分admin(管理员)、developer(开发者)、writer(读写者)以及viewer(分析师)四种角色,您可以通过少量的权限管理函数,即可对DB中的对象进行方便且安全的权限管理。

      • SLPM:基于Schema级别的简单权限模型,该权限模型以Schema为粒度,划分 <db>.admin(DB管理员)、<db>.<schema>.developer(开发者)、<db>.<schema>.writer(读写者)以及 <db>.<schema>.viewer(分析师),相比于简单权限模型更为细粒度。

      • 专家:Hologres兼容PostgreSQL,使用与Postgres完全一致的权限系统。

      立即登录

      选择

    4. 选择SQL编辑器,然后单击image新建临时Query查询

    5. 临时Query查询页面,创建Hologres内部表,用于后续数据实时写入,示例代码如下。便于快速了解Hologres的开发,可参考Hologres开发规范

      -- 新建schema用于创建内表并导入数据
      CREATE SCHEMA IF NOT EXISTS hologres_dataset_github_event;
      
      DROP TABLE IF EXISTS hologres_dataset_github_event.hologres_github_event;
      
      BEGIN;
      CREATE TABLE hologres_dataset_github_event.hologres_github_event (
        id bigint PRIMARY KEY,
        actor_id bigint,
        actor_login text,
        repo_id bigint,
        repo_name text,
        org_id bigint,
        org_login text,
        type text,
        created_at timestamp with time zone NOT NULL,
        action text,    
        commit_id text,
        member_id bigint,
        language text
      );
      CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'distribution_key', 'id');
      CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'event_time_column', 'created_at');
      CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'clustering_key', 'created_at');
      
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.id IS '事件ID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.actor_id IS '事件发起人ID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.actor_login IS '事件发起人登录名';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.repo_id IS 'repoID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.repo_name IS 'repo名称';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.org_id IS 'repo所属组织ID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.org_login IS 'repo所属组织名称';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.type IS '事件类型';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.created_at IS '事件发生时间';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.action IS '事件行为';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.commit_id IS '提交记录ID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.member_id IS '成员ID';
      COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.language IS '编程语言';
      
      COMMIT;
  3. 部署DataWorks服务。

    1. 进入DataWorks服务开通页,选择需要开通的产品配置。

      配置项

      说明

      地域

      选择华东1(杭州)

      DataWorks版本

      选择基础版

      DataWorks资源组

      选择资源组并配置网络信息。

      • 付费模式:选择按量付费

      • 专有网络(VPC):选择之前已创建的专有网络VPC。

      • 交换机(V-Switch):选择之前已创建的专有网络交换机。

      • 服务关联角色:您需具备如下服务关联角色才可开通资源组,请按照界面指引创建相关角色。

        • 角色名称:AliyunServiceRoleForDataWorks

        • 角色权限策略:AliyunServiceRolePolicyForDataWorks

    2. 确认配置无误后,勾选服务协议。

    3. 确认订单。

      说明

      某地域首次开通DataWorks服务后,平台自动为您创建默认工作空间,详情请参见默认工作空间内置逻辑说明

      1. 单击确认订单并支付,在资源校验对话框查看购买的商品详情。

      2. 资源校验无误后,单击下一步:价格清单,确认商品价格。

        说明

        价格清单包括DataWorks版本费用、资源组费用、MaxCompute产品费用及其他按量付费商品费用(即DataWorks按量付费)。

      3. 价格确认无误后,单击下一步:创建订单

      4. 进入待支付订单页面,单击支付进行购买。

    4. (可选)为DataWorks资源组的VPC配置NAT网关并绑定弹性公网IP(Elastic IP Address,简称EIP)。

      说明

      DataWorks新版资源组默认不具备公网访问能力,为确保公共MySQL(公网)与DataWorks之间的网络连通性,需要为VPC配置公网NAT网关并绑定EIP。详情请参见网络连通方案

      1. 登录专有网络管理控制台,选择NAT网关 > 公网NAT网关

      2. 公网NAT网关页面,单击创建NAT网关配置相关参数。

        配置项

        说明

        所属地域

        选择华东1(杭州)

        所属专有网络

        选择之前已创建的专有网络VPC。

        关联交换机

        选择之前已创建的专有网络交换机。

        实例名称

        自定义公网NAT网关名称。

        访问模式

        选择公网NAT网关的访问模式,本文选择VPC全通模式(SNAT)

        说明

        选择了VPC全通模式,在公网NAT网关创建成功后当前VPC内所有实例即可通过该公网NAT网关访问公网。

        弹性公网IP

        选择新购弹性公网IP

        系统会为您创建弹性公网IP,并绑定到当前的公网NAT网关。

        带宽峰值

        默认为200 Mbps, 建议设置为1 Mbps,避免产生更多费用。

      3. 单击立即购买,并在确认订单页面确认公网NAT网关的配置信息,选中服务协议并单击确认订单

        购买成功后,您可以在公网NAT网关页面查看已创建的公网NAT网关实例。

  4. 配置实时同步任务。

    1. 配置数据源。

      1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的管理中心,在下拉列表中选择默认创建的工作空间,然后单击进入管理中心

      2. 选择左侧导航栏的数据源 > 数据源列表,然后单击新增数据源

        按照界面指引创建MySQL数据源和Hologres数据源,主要参数配置如下:

        • MySQL数据源(来源数据):

          配置项

          说明

          数据源名称

          自定义。本文以MySQLData为例。

          配置模式

          选择连接串模式

          JDBC连接地址

          单击新增地址,配置信息如下:

          • 主机地址IP:rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com

          • 端口号:3306

          输入数据库名称后,完整的JDBC URL为jdbc:mysql://rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com:3306/github_events_share。

          数据库名称

          github_events_share

          用户名

          workshop

          密码

          workshop#2017

          此密码仅为本教程示例,请勿在实际业务中使用。

          认证选项

          选择无认证

        • Hologres数据源(目标数据):

          配置项

          说明

          数据源名称

          自定义。本文示例为HologresData。

          认证方式

          默认为阿里云账号及阿里云RAM角色

          所属云账号

          选择当前阿里云主账号

          地域

          选择Hologres实例所在地域华东1(杭州)

          Hologres实例

          选择已创建的Hologres实例。

          数据库名称

          填写上述已创建的Hologres数据库名称holo_tutorial。

          默认访问身份

          选择阿里云主账号

          认证选项

          选择无认证

    2. 创建实时同步任务。

      1. 访问DataWorks数据集成页面。

      2. 同步任务页面,选择来源去向,单击开始创建

        • 来源:选择MySQL。

        • 去向:选择Hologres。

      3. 新建同步任务页面,配置任务相关信息。

        说明
        • 为保持公共数据源连接稳定,资源组与公共MySQL数据源创建连接后7天将进行释放,不影响资源组与您自己的MySQL创建的连接。

        • 基本配置

          • 新任务名称:Sync_Task。

          • 同步类型:整库实时。

        • 网络与资源配置

          • 数据来源:选择MySQLData。

          • 数据去向:选择HologresData。

          • 同步资源:选择开通DataWorks时创建的资源组,占用的CU量配置为2 CU。

      4. 单击测试所有连通性,确认数据源与资源组网络连通,测试连通后,单击下一步。关于网络连通详情,请参见网络连通方案

      5. 配置要同步的库表和目标表映射。

        1. 选择要同步的库表区域,勾选MySQL中的github_public_event表,添加至已选库表

          image

        2. 目标表映射区域,勾选对应表,单击批量刷新映射

        3. 目标Schema名目标表名修改为上述已创建Hologres内部表,然后单击完成配置

          image

          说明

          优先配置目标Schema名后再修改目标表名,否则会修改失败。

    3. 实时任务配置完成后,在任务列表页面,单击操作列中启动

      您可以单击同步任务名称,查看同步任务详情,预计50分钟左右数据同步任务将完成后,您可以前往Hologres进行实时数据分析。

验证与清理

10

方案验证

一、通过查看同步任务详情,验证DataWorks数据同步的过程

  1. 访问数据集成的同步任务页面,点击任务名称进入任务详情页。image.png

  2. 执行状态可以看到任务执行的进度,分为三个阶段:结构迁移、全量初始化、实时数据同步。image.png

  3. 启动实时数据同步后,点击页面下面的实时同步标签,可以查看详细的同步信息,这包括业务延时、已同步的数据条数以及数据同步的速率等关键指标。image.png

二、通过执行复杂查询,验证Hologres实现即席查询的能力

  1. 登录Hologres管理控制台,点击实例ID进入Hologres实例详情页。点击登录实例导航至SQL编辑器页面并点击新建SQL查询,运行如下示例命令,查询今日最活跃项目。

    SELECT
        repo_name,
        COUNT(*) AS events
    FROM
        hologres_dataset_github_event.hologres_github_event
    WHERE
        created_at >= CURRENT_DATE
    GROUP BY
        repo_name
    ORDER BY
        events DESC
    LIMIT 5;
  2. 查询执行完成后,结果将显示在SQL编辑器下方。

    repo_name	                             events
    --------------------------------------+---------
    Hardwaregore/gimmie-commits	           59672
    happyfish2024/mins	                   12626
    bullet-dev-team/demo-app-env-list	     9002
    bullet-dev-team/python-pyramid-public	 8255
    SSlam1234/StatSlamImagesCDN	           6618
  3. 点击“运行日志”检查详细的查询执行信息,特别是查询的响应时间。毫秒级的响应时间表明Hologres能够高效处理复杂的即席查询,满足快速数据分析的需求。image.png

资源清理

在体验完成本教程后,如果您不再使用,请及时释放相关资源,否则Hologres与DataWorks资源将会持续运行产生费用。

  1. 删除DataWorks资源组和同步任务。

    • 删除DataWorks资源组

      1. 登录DataWorks控制台,单击左侧导航栏的资源组列表

      2. 资源组列表页面,单击目标资源组操作列中image > 退订,按照界面提示删除DataWorks资源组。

        说明

        删除DataWorks资源组时,预计1~2分钟后会释放相应的弹性网卡资源。弹性网卡资源释放后,才支持释放交换机资源。

    • 删除DataWorks同步任务

      1. 登录DataWorks控制台,单击左侧导航栏的数据集成,在下拉框中选择对应工作空间后单击进入数据集成

      2. 数据源页面,勾选MySQLData和HologresData数据源,然后单击批量删除,按照界面提示删除同步任务。具体操作,请参见管理数据源

      3. 同步任务页面,选择操作更多 > 删除,按照界面提示删除同步任务。

  2. 解绑并释放弹性公网IP。

    1. 登录NAT网关管理控制台,选择公网访问 > 弹性公网IP

    2. 弹性公网IP页面,单击目标弹性公网IP实例操作列中的image > 强制释放,并按照界面提示进行解绑。

      说明

      通过强制释放,系统将优先解绑弹性公网IP资源和共享带宽包,然后再去释放EIP。

  3. 释放NAT网关。

    1. 登录NAT网关管理控制台,选择NAT网关 > 公网NAT网关

    2. 公网NAT网关页面,单击目标NAT网关实例操作列中的image > 删除,并按照界面提示进行删除NAT网关。

    说明

    公网NAT网关实例基本信息页面默认未开启删除保护。如开启,请关闭删除保护

  4. 登录ROS控制台,释放使用ROS一键部署的资源:专有网络VPC、交换机和Hologres实例。

    1. 在左侧导航栏,选择资源栈

    2. 资源栈页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧操作列,单击删除

    3. 删除资源栈对话框,选择删除方式释放资源,然后单击确定,根据提示完成资源释放。