创建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参数

参数 注释说明 备注
zkQuorum Cloudhbase集群配置的zk地址,是以(,)分隔的主机列表。 可以在hbase-site.xml文件中找到hbase.zookeeper.quorum相关配置。
zkNodeParent 集群配置在zk上的路径 可以在hbase-site.xml文件中找到hbase.zookeeper.quorum相关配置。
tableName hbase 表名
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维表

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
SQL 分布式计算 Hadoop
创建hive表并关联数据
创建hive表并关联数据
35 0
|
分布式计算 数据处理 MaxCompute
MaxCompute单字段拆分多行多列
数据导入MaxCompute后,需要把某个字段String类型(多键值(key-value )对 ) 拆分成多行,每行有都有key, value两列。比如“{k1:v1,k2:v2,k3:k4}” 拆成多行,每行两个值key,value 分别为k1,v1;k2,v2;k3;k4。
3581 0
|
9月前
|
SQL 存储 安全
Hive 内部表(管理表)和外部表的区别【重点】
Hive 内部表(管理表)和外部表的区别【重点】
269 1
|
4月前
|
SQL 流计算
Hologres源表定义的时候,可以映射为flink的timestmap么,那这个怎么映射呢?
Hologres源表定义的时候,可以映射为flink的timestmap么,那这个怎么映射呢?
106 0
|
4月前
|
SQL 关系型数据库 MySQL
Hologres ctas怎么映射呢?
Hologres ctas怎么映射呢?
21 0
|
10月前
|
存储 SQL 关系型数据库
|
11月前
|
NoSQL MongoDB Redis
在MongoDB中使用聚合操作筛选与修改字段
在MongoDB中使用聚合操作筛选与修改字段
244 0
|
分布式计算 DataWorks API
基于pyodps对MaxComputer表的数据探查
本次脚本设计是针对大批量表,并且没有明确业务支持下的数据探查,会根据不同的类型进行判定,根据结果值进行分析得出结论,并给出一定的建议,同时该脚本仅仅支持普通表,一级分区表和二级分区表;一级分区表的分区字段必须是ds或者pt。
861 0
|
SQL 存储 HIVE
Hive内部表与外部表的区别及使用场景
Hive内部表与外部表的区别及使用场景