热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Phoenix异步创建索引

phoenix创建索引的两种方法:1、在线,在线的方式创建索引,在数据量大的时候,会建不出来,在创建时也会影响正常的读写2、离线,离线即异步创建的方式下,以起MapReduce任务

phoenix创建索引的两种方法:

1、在线,在线的方式创建索引,在数据量大的时候,会建不出来,在创建时也会影响正常的读写

2、离线,离线即异步创建的方式下,以起MapReduce任务的形式生成索引表对应的hbase表表文件,以实现异步创建

离线创建:

1、命令行执行:

CREATE INDEX INDEX_DWR_NT_ORDER_DETAIL_ORDER_NO4 on DWR_NT_ORDER_DETAIL (“order_info”.”ORDER_NO”)  ASYNC SALT_BUCKETS=8,MAX_FILESIZE=10737418240;

参数解释:

ASYNC:异步创建

执行完好,查看索引状态为building状态,未激活

《Phoenix异步创建索引》

2、命令执行

./hbase org.apache.phoenix.mapreduce.index.IndexTool –schema default –data-table DWR_NT_ORDER_DETAIL –index-table INDEX_DWR_NT_ORDER_DETAIL_ORDER_NO4 –output-path ASYNC_IDX_HFILES

参数解释:

–data-table 源数据表

–index-table 索引表

–output-path MapReduce任务写出的目标文件存放的hdfs路径

《Phoenix异步创建索引》

最后创建完成后,更新激活索引状态

 

备注:异步创建索引时,如果有新数据写入,会出现索引表数据丢失现象,创建完成后,数据正常写入不会丢失,所以,创建完成后可能需要往索引表补数据!


推荐阅读
author-avatar
lipei0927
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有