全部产品
Search
文档中心

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

更新时间:Jan 10, 2024

在使用流引擎处理计算任务时,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必须与geomHintcacheTTLMs参数搭配使用,且cacheTTLMs的值必须大于0。