本文为您介绍如何通过创建实时计算作业实时写入数据至Hologres。

前提条件

说明
  • 请确保开通的实时计算与Hologres地域一致,以免连接失败。
  • Blink 3.6之前的版本未内置Hologres Connector,实时写入数据至Hologres需要引用JAR文件,您可以提交工单或通过交互式分析Hologres交流群(钉钉群号:32314975)获取。
  • 当Hologres中接收数据的表已设置主键,默认按照主键更新实时写入的数据。

操作步骤

  1. 创建Hologres表。
    在Hologres中创建一张用于接收数据的表。示例建表SQL语句如下。
    create table blink_test(
      a int primary key,
      b text,
      c text
    );
  2. 创建实时计算作业。
    通过创建实时计算作业实时写入数据至Hologres的操作步骤如下:
    1. 获取Endpoint。
      在Hologres商业化版本的实例中,执行以下命令获取实时数据API中VPC网络的Endpoint。
      show hg_datahub_endpoints;
    2. 新建作业。
      登录实时计算控制台,在实时计算页面新建作业,示例SQL语句如下。
      create table randomSource (a int, b VARCHAR, c VARCHAR, d DOUBLE, e BIGINT) with (type = 'random');
      
      create table test (
        a int,
        b VARCHAR,
        c VARCHAR,
        PRIMARY KEY (a)
      ) with (
        type = 'hologres',
        `endpoint` = '$ip:$port', //当前Hologres实时数据API的VPC网络地址以及端口号。
        `username` = '当前阿里云账号的AccessKey ID',
        `password` = '当前阿里云账号的AccessKey Secret',
        `dbName` = '当前Hologres的数据库名称',
        `tableName` = 'blink_test', //当前Hologres接收数据的表名称。
        `batchSize` = '100'
      );
      
      insert
        into test
      select
        a,b,c
      from
        randomSource;
      With参数如下表所示。
      参数 示例 描述
      type hologres 源表的类型。
      说明 Blink 3.6及以上版本使用hologres,3.6以下的版本使用custom
      endpoint demo-hh-cn-hangzhou-vpc.hologres.aliyuncs.com:80 当前Hologres实时数据API的VPC网络地址以及端口号。
      username xxxxm3FMWaxxxx AccessKey ID

      您可以单击AccessKey 管理,获取AccessKey ID。

      password xxxxm355fffaxxxx AccessKey Secret

      您可以单击AccessKey 管理,获取AccessKey Secret。

      dbName Holodb 当前Hologres的数据库名称。
      tableName blink_test 当前Hologres数据库的表名称。
      注意 Blink 3.6之前的版本未内置Hologres Connector,实时写入数据至Hologres需要引用JAR文件,您需要提交工单或通过交互式分析Hologres交流群(钉钉群号:32314975)获取,并修改Sink表如下参数:
      • 配置type参数为Custom
      • type后新增参数tableFactoryClass = 'com.alibaba.blink.connectors.hologres.table.factory.HologresTableFactory'
    3. 上线作业。
      完成新建作业后,单击编辑框的语法检查,如果显示成功,则表明语法正确。
      单击保存保存作业,并单击上线,提交作业至生产环境。根据业务情况填写作业上线配置,示例如下:
      • 配置初始资源4
      • 配置资源配置5
    4. 启动作业。
      提交作业至生产环境后,需要手动启动作业。
      单击页面右上方的运维,跳转进入运维界面,选择需要启动的作业,单击右上角的启动6
  3. Hologres实时查询。
    查询Hologres中用于接收数据的表,就可以实时获取到已写入的数据。示例查询SQL语句如下。
    select * from blink_test;

数据类型映射

实时计算数据类型与Hologres数据类型的映射关系请参见数据类型