在使用流引擎处理计算任务时,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 | 否 | 写入数据时系统执行 如果写入的数据量很少,则系统会按该时间间隔执行 说明 不同业务下写入数据量多少的标准不同。 |
columnFamily | f | 否 | 列簇名。 说明 在流引擎中使用宽表时,是否配置columnFamily取决于该表的创建方式:
|
时空参数
参数 | 默认值 | 是否必填 | 说明 |
cacheTTLMs | -1 | 否 | 数据缓存(Cache)的过期时间。单位为毫秒,默认值为-1,表示不产生数据缓存。数据缓存过期之后,执行下一次查询时会重建时空索引。 |
geomHint | 无 | 否 | 指定的时空Lookup Join查询,格式为 queryFunction支持的函数如下:
|
geomIndex | 无 | 否 | 指定创建时空索引的列,该表的时空LookupJoin查询将自动通过内存索引加速。 当前仅支持单表单列创建索引。支持通过内存索引加速的函数有:
重要 geomIndex必须与geomHint和cacheTTLMs参数搭配使用,且cacheTTLMs的值必须大于0。 |