全部产品
Search
文档中心

:配置流引擎的宽表连接器

更新时间:Jan 23, 2025

在使用流引擎处理计算任务时,Lindorm支持将宽表作为维表或结果表使用。本文介绍使用Flink SQL提交计算任务时的宽表连接器配置。

背景信息

在流引擎中通过Flink SQL提交计算任务时,需要使用CREATE TABLE语句并配置连接器(Connector)参数。

在流引擎中使用宽表

CREATE TABLE lindorm_table(
  c1 VARCHAR,
  c2 DOUBLE,
  c3 BIGINT,
  PRIMARY KEY (c1, c2) NOT ENFORCED --主键必须与在宽表引擎中创建的结果表的主键一致
)WITH(
      'connector'='lindorm',
      'seedServer'='ld-bp17pwu1541ia****-proxy-lindorm.lindorm.rds.aliyuncs.com:30020',
      'userName'='yourUser',
      'password'='yourPassword',
      'tableName'='yourTablename',
      'namespace'='yourNamespace'
    );--WITH中为连接器相关参数
说明

CREATE TABLE的详细介绍,请参见CREATE TABLE语法说明。

连接器参数说明

常用参数

参数

默认值

是否必填

说明

seedServer

无

是

宽表引擎的HBase Java API连接地址。如何获取,请参见查看宽表引擎连接地址。

namespace

无

是

宽表所在的命名空间。

userName

无

是

用户名。

password

无

是

密码。

tableName

无

是

宽表名。

bufferSize

5000

否

攒批写入数据的行数。

flushIntervalMs

2000

否

写入数据时系统执行flush操作的时间间隔。单位为毫秒(ms)。

如果写入的数据量很少,则系统会按该时间间隔执行flush操作。

说明

不同业务下写入数据量多少的标准不同。

columnFamily

f

否

列簇名。

说明

在流引擎中使用宽表时,是否配置columnFamily取决于该表的创建方式:

  • 通过HBase Java API创建:需要配置。

  • 通过Lindorm SQL创建:无需配置。

时空参数

参数

默认值

是否必填

说明

cacheTTLMs

-1

否

数据缓存(Cache)的过期时间。单位为毫秒,默认值为-1,表示不产生数据缓存。数据缓存过期之后,执行下一次查询时会重建时空索引。

geomHint

无

否

指定的时空Lookup Join查询,格式为<columnName>:<queryFunction>,例如 fence:st_contains。在执行Lookup Join查询时,Join条件中的时空等式将被替换为指定的时空查询。例如,fence=ST_MakePoint(x,y))将被替换为指定的时空查询ST_Contains(fence, ST_MakePoint(x,y))。

queryFunction支持的函数如下:

  • ST_Contains

  • ST_Within

  • ST_DWithin

  • ST_DWithinSphere

  • ST_Intersects

  • ST_Overlaps

  • ST_Equals

geomIndex

无

否

指定创建时空索引的列,该表的时空LookupJoin查询将自动通过内存索引加速。

当前仅支持单表单列创建索引。支持通过内存索引加速的函数有:

  • ST_Contains

  • ST_Within

  • ST_DWithin

  • ST_DWithinSphere

  • ST_Intersects

  • ST_Overlaps

  • ST_Equals

重要

geomIndex必须与geomHint和cacheTTLMs参数搭配使用,且cacheTTLMs的值必须大于0。