创建Cloudhbase维表

创建 Cloudhbase 维表

维表的 Query 语法详见: 维表 JOIN 文档

示例

 
  
  1. CREATE TABLE hbase (
  2. `key` varchar,
  3. `name` varchar,
  4. PRIMARY KEY (`key`), -- hbase 中的 row key 字段
  5. PERIOD FOR SYSTEM_TIME --维表标识。
  6. ) with (
  7. TYPE = 'cloudhbase',
  8. zkQuorum = 'xxx',
  9. columnFamily = 'xxx',
  10. tableName = 'dim_seo'
  11. );

注意:声明维表时,必须要指名主键。维表JOIN的时候,ON的条件必须包含所有主键的等值条件。Cloudhbase中的主键即rowkey。

WITH参数

参数注释说明备注
zkQuorumCloudhbase集群配置的zk地址,是以(,)分隔的主机列表。可以在hbase-site.xml文件中找到hbase.zookeeper.quorum相关配置。
zkNodeParent集群配置在zk上的路径可以在hbase-site.xml文件中找到hbase.zookeeper.quorum相关配置。
tableNamehbase 表名
columnFamily列族名目前只支持插入同一列族。
userName用户名
password密码无 
maxRetryTimes最大尝试次数默认10次
partitionedJoin设置为true之后会在用joinKey做partition,将数据分发到join节点,提高缓存命中率可选,默认关闭
shuffleEmptyKey设置为true之后遇到空key会随机往下游做shuffle,否则往0号下游发建议打开

Cache 参数

参数注释说明备注
cache缓存策略默认 None, 可选 LRUALL
cacheSize缓存大小当选择 LRU 缓存策略后,可以设置缓存大小,默认 10000 行。
cacheTTLMs缓存超时时间,单位毫秒。当选择 LRU 缓存策略后,可以设置缓存失效的超时时间,默认不过期。当选择 ALL 策略,则为缓存reload 的间隔时间,默认不重新加载。
cacheReloadTimeBlackList ALL Cache 时启用,更新时间黑名单,防止在此时间内做cache 更新(如双11场景)。可选,默认空,格式为2017-10-24 14:00 -> 2017-10-24 15:00, 2017-11-10 23:30 -> 2017-11-11 08:00。用逗号(,)来分隔多个黑名单,用箭头(->)来分割黑名单的起始结束时间。
cacheScanLimit ALL Cache 时启用,load全量HBase数据,服务端一次RPC返回给客户端的行数。可选,默认100条

目前RDS/DRDS提供如下三种缓存策略。

  • None:无缓存。
  • LRU:最近使用策略缓存。需要配置相关参数:缓存大小(cacheSize)和 缓存超时时间(cacheTTLMs)。
  • ALL:全量缓存策略。在Job运行前会将远程表中所有数据load到内存中,之后所有的维表查询都会通过 cache进行。cache命中不到则不存在,并在缓存过期后重新加载一遍全量缓存。全量缓存策略适合远程表数据量小、miss key多的场景。全量缓存相关配置:缓存更新间隔(cacheTTLMs),更新时间黑名单(cacheReloadTimeBlackList)。

    注意:因为会异步reload,使用cache all的时候,需要将维表JOIN的节点增加一些内存,增加的内存大小为远程表两倍的数据量。

本文转自实时计算——创建Cloudhbase维表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值