Phoenix连接hbase的sql操作

phoenix,直译为凤凰,构建在Hbase之上,使用标准的SQL操作Hbase,可以做联机事务处理,拥有低延迟的特性。

phoenix会把SQL编译成一系列的Hbase的scan操作,然后把scan结果生成标准的JDBC结果集,

其底层由于使用了Hbase的API,协处理器,过滤器,处理千万级行的数据也只用毫秒或秒级就搞定。

支持有:SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY等操作。

但phoenix目前不支持Intersect, Minus操作,Oracle是支持此操作的。

phoenix连接hbase:

查看当前集群中存在的数据表:

 

 创建表、查询表:

 

 表插入数据:

 alter修改表数据:


Phoenix中不存在 update 的语法关键字,而是 upsert ,功能上替代了 Insert+update。所以如下会报错:

据官方介绍:

只需要在upsert 语句中指定存在的 s_id即可实现更新,在phoenix客户端中操作如下:

复杂查询:通过phoenix连接还支持where、group by、case when等复杂的查询条件

添加数据:

如上:当s_id=5被创建两次时,前一条会被覆盖

删除操作: delete、drop

更多操作案例可在官方学习:https://phoenix.apache.org

也可参考此博客学习:https://blog.csdn.net/javastart/article/details/69397676

Phoenix支持的sql语句: https://phoenix.apache.org/language/index.html

Phoenix 支持的DataTypes: https://phoenix.apache.org/language/datatypes.html

Phoenix 支持的函数: https://phoenix.apache.org/language/functions.html

猜你喜欢

转载自blog.csdn.net/Candriy/article/details/82254474