前言
Hbase中的数据读取起来不太方便,所以这里使用Phoenix来保存数据。
准备Hive
启动Hive服务
1 | nohup $HIVE_HOME/bin/hiveserver2& |
连接Hive服务
1 | beeline -n hive -u jdbc:hive2://hadoop01:10000/default |
插入数据
1 | INSERT INTO t_user01(id,name) VALUES (1,'李四'); |
查询数据
1 | select * from t_user01; |
准备Phoenix
注意
在Phoenix中无论表还是字段只要没有双引号引起来的字段都会变成大写。
这里不建议用双引号,在后期拼接SQL的时候比较麻烦。
启动query server
1 | queryserver.py start |
连接
1 | sqlline-thin.py http://hadoop01:8765 |
创建schema
1 | create schema mdb; |
使用这个新建的 schema:
1 | use mdb; |
创建表
1 | CREATE TABLE IF NOT EXISTS tuser( |
插入数据
1 | upsert into tuser values('1001','zhangsan'); |
查询记录
1 | select * from tuser; |
分页查询
1 | select * from tuser order by id desc limit 1 offset 0; |
其中
limit
取多少条offset
从多少条开始
Hive=>Phoenix
依赖
1 | <!--JSON工具--> |
主类
1 | import com.alibaba.fastjson2.JSONObject; |
读取Hive
1 | import com.alibaba.fastjson2.JSONObject; |
ResultSet.next其实是取一条就跟数据库通讯拿一条数据,并不是全部取出放在内存,因为ResultSet.next之前,是获取了数据库连接的,数据库连接断开,你就获取不到数据了,说明是有通讯的。
写入Phoenix
1 | import com.alibaba.fastjson2.JSONObject; |