在使用流引擎處理計算任務時,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。 |