本文为您介绍Phoenix5结果表DDL定义、WITH参数和代码示例。

注意 Phoenix5结果表仅支持INSERT,不支持UPDATE和DELETE。

什么是Phoenix5

HBase SQL服务基于Phoenix 5.x为HBase 2.x提供SQL能力,通过轻客户端即可快速连接访问。SQL服务挂载了SLB负载均衡,通过round robin模式将请求均匀分发在每个query server节点。此外轻客户端还支持Python、Go等多语言访问。

前提条件

已开通HBase SQL服务。

使用限制

仅Flink计算引擎VVR 2.0.0及以上版本支持Phoenix5 Connector。

DDL定义

CREATE TABLE phoenix5_sink (
  `STATE` VARCHAR,
  CITY VARCHAR,
  POPULATION BIGINT,
  PRIMARY KEY (`STATE`, CITY) NOT ENFORCED
) WITH (
  'connector' = 'phoenix5',
  'serverUrl' = '<yourserverUrl>',
  'tableName' = '<yourTableName>',
  'batchsize' = '25'
);

WITH参数

参数 说明 是否必填 备注
connector 结果表类型。 默认值为phoenix5
serverUrl Phoenix5的Query Server地址:
  • 如果Phoenix5是在集群中创建的,则serverUrl是负载均衡服务的URL地址。
  • 如果Phoenix5是在单机中创建的,则serverUrl是单机的URL地址。
您需要在云数据库HBase实例中开启Hbase SQL服务。
tableName Phoenix5表名。 无。
batchSize 一次批量写入的条数。 默认值为20。

代码示例

包含Phoenix5结果表的Flink作业代码示例如下。
CREATE TEMPORARY table datagen_source (
  `id` varchar,
  `name` varchar,
  `age` varchar,
  `birthday` varchar 
) WITH (
  'connector' = 'datagen'
);

CREATE TEMPORARY table phoenix5_sink (
  `id` varchar,
  `name` varchar,
  `age` varchar,
  `birthday` varchar,
  primary key (id) NOT ENFORCED
) WITH (
  'connector' = 'phoenix5',
  'serverurl' = '<yourserverUrl>',
  'tablename' = '<yourTableName>',
  'batchsize' = '25'
);

INSERT INTO phoenix5_sink
  SELECT  `id` ,`name` , `age` ,`birthday` 
FROM datagen_source;