1.在phoenix中创建视图:
create view “six” (“pk” varchar primary key,“one”.“one” varchar,“one”.“two” varchar) as select * from “six”;
2.在phoenix中创建异步索引:
create index “six_one_one_index” on “six” (“one”.“one”) async;
3.退出phoenix,在hbase中执行异步创建索引的操作:
hbase org.apache.phoenix.mapreduce.index.IndexTool --data-table six_one --index-table six_one_one_index --output-path /data/export
在执行这个步骤的时候出去,因为phoenix大小写的原因。这里只会去查找SIX_ONE表和SIX_ONE_ONE_INDEX表,并不会去查找six_one和six_one_one_index表。
解决:只在大写的表中创建异步索引:
步骤如下:
create view six_one (“pk” varchar primary key,“one”.“one” varchar,“one”.“two” varchar) as select * from “six”;
创建一个大写的表SIX_ONE;
create index six_one_index on six_one (“cf”.“eagle_si”) async;
创建异步索引;
hbase org.apache.phoenix.mapreduce.index.IndexTool --data-table six_one --index-table six_one_index --output-path /data/export
执行语句去往index表中添加数据。