创建表格存储(Table Store)维表

表格存储(TableStore)

表格存储(Table Store)简称OTS,是根据99.99%的高可用以及11个9的数据可靠性的设计标准,构建在阿里云飞天分布式系统之上的分布式NoSQL数据存储服务。表格存储通过数据分片和负载均衡技术,实现数据规模与访问并发上的无缝扩展,提供海量结构化数据的存储和实时访问服务。

示例


  1. CREATE TABLE ots_dim_table (
  2. id int,
  3. len int,
  4. content VARCHAR,
  5. PRIMARY KEY (id),
  6. PERIOD FOR SYSTEM_TIME--定义了维表的变化周期,即表明该表是一张会变化的表。
  7. ) WITH (
  8. type='ots',
  9. endPoint='zzz'
  10. instanceName='yourInstanceName',
  11. tableName='yourTableName',
  12. accessId='xxx',
  13. accessKey='yyy',
  14. );

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

WITH参数

参数 注释说明
instanceName 实例名
tableName 表名
endPoint 实例访问地址
accessId 访问的id
accessKey 访问的键

Cache 参数

参数 注释说明 备注
cache 缓存策略 默认 “None”, 可选 “LRU”
cacheSize 缓存大小 当选择 LRU 缓存策略后,可以设置缓存大小,默认 10000 行
cacheTTLMs 缓存超时时间,单位毫秒 当选择 LRU 缓存策略后,可以设置缓存失效的超时时间

测试案例


  1. CREATE TABLE datahub_input1 (
  2. id BIGINT,
  3. name VARCHAR,
  4. age BIGINT
  5. ) WITH (
  6. type='datahub'
  7. );
  8. create table phoneNumber(
  9. name VARCHAR,
  10. phoneNumber bigint,
  11. primary key(name),
  12. PERIOD FOR SYSTEM_TIME--定义维表的变化周期
  13. )with(
  14. type='ots'
  15. );
  16. CREATE table result_infor(
  17. id bigint,
  18. phoneNumber bigint,
  19. name VARCHAR
  20. )with(
  21. type='rds'
  22. );
  23. INSERT INTO result_infor
  24. SELECT
  25. t.id
  26. ,w.phoneNumber
  27. ,t.name
  28. FROM datahub_input1 as t
  29. JOIN phoneNumber FOR SYSTEM_TIME AS OF PROCTIME() as w --维表JOIN必须指定
  30. ON t.name = w.name;

关于维表详细语法请参见维表JOIN语法

本文转自实时计算——创建表格存储(Table Store)维表

上一篇:Linux中daemon()函数的使用


下一篇:面向对象设计的九大基本原则 (GRASP)