Phoenix是hbase 的一个工具 ,可以将hbase中的数据通过sql语句执行
默认情况下,直接在hbase中创建的表,通过phoenix是查看不到的,而在phonenix中创建 可以在hbase shell 通过 list查看 (因为hbase中的表示没有结构的只有一个表名和列蔟,而phonenix中的表示结构表, 不过可以通过phonenix表映射获取hbase中键的表
视图映射
put ‘test’,‘001’,‘name:firstname’,‘zhangsan’
put ‘test’,‘001’,‘name:lastname’,‘zhangsan’
put ‘test’,‘001’,‘company:name’,‘李四’
put ‘test’,‘001’,‘company:address’,‘合肥’
在Phoenix中就创建
create view “test” (
empid varchar primary key,
“name”.“firstname” varchar,
“name”."lastname"varchar,
“company”.“name” varchar,
“company”.“address” varchar
);
表映射
CREATE TABLE IF NOT EXISTS STUDENT (
“id” VARCHAR NOT NULL PRIMARY KEY,
“info”.“name” VARCHAR,
“info”.“age” VARCHAR,
“info”.“gender” VARCHAR ,
“info”.“clazz” VARCHAR
)
column_encoded_bytes=0;
数据类型一定要对应
也可以直接在 客户端创建
一个表是原数据信息,另一个表是建表结构
源文件是存放的数据 sql文件就是 创建表的信息 在创建表的时候可以创多个索引,
和hbase一样,索引就是rowkey机制,
CREATE TABLE IF NOT EXISTS DIANXIN (
mdn VARCHAR ,
start_date VARCHAR ,
end_date VARCHAR ,
county VARCHAR,
x DOUBLE ,
CONSTRAINT PK PRIMARY KEY (mdn)
);
上传 数据
psql.py DIANXIN.sql DIANXIN.csv