|
| 1 | + |
| 2 | +## 1.格式: |
| 3 | +``` |
| 4 | + CREATE TABLE tableName( |
| 5 | + colName cloType, |
| 6 | + ... |
| 7 | + PRIMARY KEY(keyInfo), |
| 8 | + PERIOD FOR SYSTEM_TIME |
| 9 | + )WITH( |
| 10 | + type='impala', |
| 11 | + url='jdbcUrl', |
| 12 | + userName='dbUserName', |
| 13 | + password='dbPwd', |
| 14 | + tableName='tableName', |
| 15 | + cache ='LRU', |
| 16 | + cacheSize ='10000', |
| 17 | + cacheTTLMs ='60000', |
| 18 | + parallelism ='1', |
| 19 | + partitionedJoin='false' |
| 20 | + ); |
| 21 | +``` |
| 22 | + |
| 23 | +# 2.支持版本 |
| 24 | + 2.10.0-cdh5.13.0 |
| 25 | + |
| 26 | +## 3.表结构定义 |
| 27 | + |
| 28 | + |参数名称|含义| |
| 29 | + |----|---| |
| 30 | + | tableName | 注册到flink的表名称| |
| 31 | + | colName | 列名称| |
| 32 | + | colType | 列类型 [colType支持的类型](colType.md)| |
| 33 | + | PERIOD FOR SYSTEM_TIME | 关键字表明该定义的表为维表信息| |
| 34 | + | PRIMARY KEY(keyInfo) | 维表主键定义;多个列之间用逗号隔开| |
| 35 | + |
| 36 | +## 4.参数 |
| 37 | + |
| 38 | + |参数名称|含义|是否必填|默认值| |
| 39 | + |----|---|---|----| |
| 40 | + | type | 表明维表的类型[impala] |是|| |
| 41 | + | url | 连接postgresql数据库 jdbcUrl |是|| |
| 42 | + | userName | postgresql连接用户名 |是|| |
| 43 | + | password | postgresql连接密码|是|| |
| 44 | + | tableName | postgresql表名称|是|| |
| 45 | + | authMech | 身份验证机制 (0, 1, 2, 3), 暂不支持kerberos |是|0| |
| 46 | + | principal | kerberos用于登录的principal(authMech=1时独有) |authMech=1为必填| |
| 47 | + | keyTabFilePath | keytab文件的路径(authMech=1时独有) |authMech=1为必填 || |
| 48 | + | krb5FilePath | krb5.conf文件路径(authMech=1时独有) |authMech=1为必填|| |
| 49 | + | krbServiceName | Impala服务器的Kerberos principal名称(authMech=1时独有) |authMech=1为必填|| |
| 50 | + | krbRealm | Kerberos的域名(authMech=1时独有) |否| HADOOP.COM | |
| 51 | + | enablePartition | 是否支持分区|否|false| |
| 52 | + | partitionfields | 分区字段名|否,enablePartition='true'时为必填|| |
| 53 | + | partitionFieldTypes | 分区字段类型 |否,enablePartition='true'时为必填|| |
| 54 | + | partitionValues | 分区值|否,enablePartition='true'时为必填|| |
| 55 | + | cache | 维表缓存策略(NONE/LRU/ALL)|否|NONE| |
| 56 | + | partitionedJoin | 是否在維表join之前先根据 設定的key 做一次keyby操作(可以減少维表的数据缓存量)|否|false| |
| 57 | + |
| 58 | + ---------- |
| 59 | + > 缓存策略 |
| 60 | + * NONE: 不做内存缓存 |
| 61 | + * LRU: |
| 62 | + * cacheSize: 缓存的条目数量 |
| 63 | + * cacheTTLMs:缓存的过期时间(ms) |
| 64 | + |
| 65 | + |
| 66 | +## 5.样例 |
| 67 | +``` |
| 68 | +create table sideTable( |
| 69 | + channel varchar, |
| 70 | + xccount int, |
| 71 | + PRIMARY KEY(channel), |
| 72 | + PERIOD FOR SYSTEM_TIME |
| 73 | + )WITH( |
| 74 | + type='impala', |
| 75 | + url='jdbc:impala://localhost:21050/mytest', |
| 76 | + userName='dtstack', |
| 77 | + password='abc123', |
| 78 | + tableName='sidetest', |
| 79 | + authMech='3', |
| 80 | + cache ='LRU', |
| 81 | + cacheSize ='10000', |
| 82 | + cacheTTLMs ='60000', |
| 83 | + parallelism ='1', |
| 84 | + partitionedJoin='false' |
| 85 | + ); |
| 86 | +
|
| 87 | +
|
| 88 | +``` |
| 89 | + |
| 90 | +## 6.分区样例 |
| 91 | + |
| 92 | +``` |
| 93 | +create table sideTable( |
| 94 | + channel varchar, |
| 95 | + xccount int, |
| 96 | + name varchar, |
| 97 | + PRIMARY KEY(channel), |
| 98 | + PERIOD FOR SYSTEM_TIME |
| 99 | + )WITH( |
| 100 | + type='impala', |
| 101 | + url='jdbc:impala://localhost:21050/mytest', |
| 102 | + userName='dtstack', |
| 103 | + password='abc123', |
| 104 | + tableName='sidetest', |
| 105 | + authMech='3', |
| 106 | + cache ='LRU', |
| 107 | + cacheSize ='10000', |
| 108 | + cacheTTLMs ='60000', |
| 109 | + parallelism ='1', |
| 110 | + enablePartition='true', |
| 111 | + partitionfields='name', |
| 112 | + partitionFieldTypes='varchar', |
| 113 | + partitionValues='{"name":["tom","jeck"]}', |
| 114 | + partitionedJoin='false' |
| 115 | + ); |
| 116 | +
|
| 117 | +``` |
| 118 | + |
| 119 | + |
0 commit comments