序列作为标准SQL特性,允许生成递增的序列并应用在典型的ID中。为了创建一个序列,可以使用:

0:jdbc:phoenix:SZB-L0023780:2181:/hbase114> CREATE SEQUENCE my_sequence;

这将创建一个序列,初始化值为1,步长大小为1,序列生成器的值达到限制值后不循环,缓存定义存放序列的100个值(此值由phoenix.sequence.cacheSize决定)。

在session中,缓存序列的值可以提升性能,因为我们不需要向服务器索要更多的序列值,除非超出了缓存的序列值。

可以通过下面的方式覆盖默认的值:

0:jdbc:phoenix:SZB-L0023780:2181:/hbase114> CREATE SEQUENCE my_sequence START WITH 100 INCREMENT BY 2 CACHE 10;

可以指定序列的最小和最大的值,以及序列值是否循环。下面的序列将导致序列在1到100之间循环。

0: jdbc:phoenix:SZB-L0023780:2181:/hbase114>CREATE SEQUENCE my_cycling_sequence MINVALUE 1 MAXVALUE 100 CYCLE;

下面我们来演示一下如何在表中使用序列:

0:jdbc:phoenix:SZB-L0023780:2181:/hbase114> CREATE SEQUENCE my_sequence START WITH 100 INCREMENT BY 2 CACHE 10;

0:jdbc:phoenix:SZB-L0023780:2181:/hbase114> create table my_table(id Integerprimary key, col1 Varchar(100), col2 varchar(100));

0:jdbc:phoenix:SZB-L0023780:2181:/hbase114> UPSERT INTO my_table(id, col1,col2) VALUES( NEXT VALUE FOR my_sequence, 'foo', 'bar');

查询当前序列的值:

0:jdbc:phoenix:SZB-L0023780:2181:/hbase114> SELECT CURRENT VALUE FOR my_sequence;

查看序列下一个值:

0:jdbc:phoenix:SZB-L0023780:2181:/hbase114> SELECT NEXT VALUE FOR my_sequence;

我们可以通过查询SYSTEM.SEQUENCE表来查看所有创建的序列:

0: jdbc:phoenix:SZB-L0023780:2181:/hbase114>SELECT sequence_schema, sequence_name, start_with, increment_by, cache_size FROM SYSTEM."SEQUENCE";

查询结果为:

Apache Phoenix的序列的更多相关文章

  1. [saiku] 使用 Apache Phoenix and HBase 结合 saiku 做大数据查询分析

    saiku不仅可以对传统的RDBMS里面的数据做OLAP分析,还可以对Nosql数据库如Hbase做统计分析. 本文简单介绍下一个使用saiku去查询分析hbase数据的例子. 1.phoenix和h ...

  2. Apache Phoenix JDBC 驱动和Spring JDBCTemplate的集成

    介绍:Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排运行以生成标准的JDBC结果集. 直接使用HBase API.协同处理器与自己定义过滤器.对于简单查询来说,其性能 ...

  3. phoenix 报错:type org.apache.phoenix.schema.types.PhoenixArray is not supported

    今天用phoenix报如下错误: 主要原因: hbase的表中某字段类型是array,phoenix目前不支持此类型 解决方法: 复制替换phoenix包的cursor文件 # Copyright 2 ...

  4. Mapreduce atop Apache Phoenix (ScanPlan 初探)

    利用Mapreduce/hive查询Phoenix数据时如何划分partition? PhoenixInputFormat的源码一看便知: public List<InputSplit> ...

  5. org.apache.phoenix.exception.PhoenixIOException: SYSTEM:CATALOG

    Error: SYSTEM:CATALOG (state=08000,code=101)org.apache.phoenix.exception.PhoenixIOException: SYSTEM: ...

  6. phoenix连接hbase数据库,创建二级索引报错:Error: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=36, exceptions: Tue Mar 06 10:32:02 CST 2018, null, java.net.SocketTimeoutException: callTimeou

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  7. apache phoenix 安装试用

    备注:   本次安装是在hbase docker 镜像的基础上配置的,主要是为了方便学习,而hbase搭建有觉得   有点费事,用镜像简单.   1. hbase 镜像 docker pull har ...

  8. How to use DBVisualizer to connect to Hbase using Apache Phoenix

    How to use DBVisualizer to connect to Hbase using Apache Phoenix Article DB Visualizer is a popular ...

  9. Apache Phoenix on CDH 5

    We are happy to announce the inclusion of Apache Phoenix in Cloudera Labs. [Update: A new package fo ...

随机推荐

  1. 郭大侠与Rabi-Ribi (优先队列)

    最近郭大侠迷上了玩Rabi-Ribi这个游戏. Rabi-Ribi呢,是一个打兔子的动作冒险游戏,萌萌哒的兔子在地上跑来跑去,好萌好萌呀~ 这个游戏是这样玩的,郭大侠作为一个主角,拿着一个小锤子,他的 ...

  2. inner join和out join的区别

    inner join(又叫join) out join包括left join,right join和full join(也就是left+right)

  3. grafana-----Templating

    模板允许更多的互动和动态的仪表板.可以将变量用在度量查询中,不必硬编码诸如服务器.应用程序和传感器名称之类的东西.变量显示在仪表板顶部的下拉式选择框中.这些下拉菜单可以很容易地改变在你的仪表板显示的数 ...

  4. 基于HttpClient、Jsoup的爬虫获取指定网页内容

    不断尝试,发现越来越多有趣的东西,刚刚接触Jsoup感觉比正则表达式用起来方便,但也有局限只适用HTML的解析. 不能尝试运用到四则运算中(工作室刚开始联系的小程序). 在原来写的HttpClient ...

  5. 洛谷 P4171 [JSOI]满汉全席

    洛谷 最近刚刚学的2-sat,就刷了这道裸题. 2-sat问题一般是用tarjan求的,当出现(x,y)或(!x,y)或(x,!y)三种选择时,我们可以把!x->y,!y->x连边. 然后 ...

  6. PAT 1071. 小赌怡情(15) JAVA

    1071. 小赌怡情(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 常言道“小赌怡情”.这是一个很简单的 ...

  7. Spring学习笔记1—依赖注入(构造器注入、set注入和注解注入)

    什么是依赖注入 在以前的java开发中,某个类中需要依赖其它类的方法时,通常是new一个依赖类再调用类实例的方法,这种方法耦合度太高并且不容易测试,spring提出了依赖注入的思想,即依赖类不由程序员 ...

  8. SecureCRT卡死的问题

    ctrl+s是一个古老的shell控制键,不小心按倒就卡死了.在输入ctrl+q就可以恢复了

  9. 阿里云公网IP不能使用

    1.开通专用网络 2.在ECS的安全组 创建 专用网络 3.配置规则 4.快速创建规则,增加自己需要入网的端口号,授权对象写:0.0.0.0/0

  10. Python之简单函数练习(Day30)

    1.写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作 def modify_file(filename,old,new): import os with open(filen ...