1,hbase shell 命令行创建表
// 创建命名空间
create_namespace 'MOMO_CHAT';
// 创建hbase表
create 'MOMO_CHAT:MSG','C1'
2,数据来源
模仿陌陌聊天数据,利用java工具生成10万条数据,用hbase的put api插入到hbase表’MOMO_CHAT:MSG’中。
把代码下载到本地,用idea打开,运行下图中的Gen类中的main方法,就会想hbase插入10万条数据
3,phoenix创建视图关联hbase表
create view if not exists "MOMO_CHAT"."MSG"(
"pk" varchar primary key,
"C1"."msg_time" varchar,
"C1"."sender_nickyname" varchar,
"C1"."sender_account" varchar,
"C1"."sender_sex" varchar,
"C1"."sender_ip" varchar,
"C1"."sender_os" varchar,
"C1"."sender_phone_type" varchar,
"C1"."sender_network" varchar,
"C1"."sender_gps" varchar,
"C1"."receiver_nickyname" varchar,
"C1"."receiver_ip" varchar,
"C1"."receiver_account" varchar,
"C1"."receiver_os" varchar,
"C1"."receiver_phone_type" varchar,
"C1"."receive_network" varchar,
"C1"."receive_gps" varchar,
"C1"."receive_sex" varchar,
"C1"."msg_type" varchar,
"C1"."distance" varchar
)
4,可以用dbeaver连接phoenix数据库
5,写sql时,列名要用双引号,值要用单引号,原因是在建表时使用了双引号
SELECT "sender_account",count(1) FROM "MOMO_CHAT"."MSG"
WHERE SUBSTR("msg_time",0,10) = '2021-06-01'
AND "sender_account" = '18461866438'
GROUP BY "sender_account"