• Hadoop生态圈-phoenix(HBase)的索引配置


                        Hadoop生态圈-phoenix(HBase)的索引配置

                                                  作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

      创建索引是为了优化查询,我们可以在phoenix上配置索引方式。

    一.修改hbase配置文件,以便支持索引

     1>.xrsync.sh 脚本内容

     1 [yinzhengjie@s101 ~]$ more `which xrsync.sh`
     2 #!/bin/bash
     3 #@author :yinzhengjie
     4 #blog:http://www.cnblogs.com/yinzhengjie
     5 #EMAIL:y1053419035@qq.com
     6 
     7 #判断用户是否传参
     8 if [ $# -lt 1 ];then
     9     echo "请输入参数";
    10     exit
    11 fi
    12 
    13 
    14 #获取文件路径
    15 file=$@
    16 
    17 #获取子路径
    18 filename=`basename $file`
    19 
    20 #获取父路径
    21 dirpath=`dirname $file`
    22 
    23 #获取完整路径
    24 cd $dirpath
    25 fullpath=`pwd -P`
    26 
    27 #同步文件到DataNode
    28 for (( i=102;i<=105;i++ ))
    29 do
    30     #使终端变绿色 
    31     tput setaf 2
    32     echo =========== s$i %file ===========
    33     #使终端变回原来的颜色,即白灰色
    34     tput setaf 7
    35     #远程执行命令
    36     rsync -lr $filename `whoami`@s$i:$fullpath
    37     #判断命令是否执行成功
    38     if [ $? == 0 ];then
    39         echo "命令执行成功"
    40     fi
    41 done
    42 [yinzhengjie@s101 ~]$ 

    2>.修改hbase配置文件,以便支持索引

     3>.重启hbase

    [yinzhengjie@s101 ~]$ stop-hbase.sh 
    stopping hbase..................
    [yinzhengjie@s101 ~]$ start-hbase.sh 
    starting master, logging to /soft/hbase/bin/../logs/hbase-yinzhengjie-master-s101.out
    Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
    Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
    s102: starting regionserver, logging to /soft/hbase/bin/../logs/hbase-yinzhengjie-regionserver-s102.out
    s103: starting regionserver, logging to /soft/hbase/bin/../logs/hbase-yinzhengjie-regionserver-s103.out
    s104: starting regionserver, logging to /soft/hbase/bin/../logs/hbase-yinzhengjie-regionserver-s104.out
    s102: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
    s102: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
    s103: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
    s103: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
    s104: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
    s104: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
    [yinzhengjie@s101 ~]$ 

    二.设置索引方式

       注意:创建表的时候,如果需要创建索引,表必须在hbase默认namespace中。

    1>.创建表

    2>.全局索引(读多写少,局限在于影响写入性能,但是可以搜索全字段)

    2>.覆盖索引(局限性在于只能搜索到name,即搜索name性能最高)

    3>.本地索引(写多读少,在于通过本地维护索引,索引在每次搜索,都会用到) 

    4>.删除索引

  • 相关阅读:
    Python接口自动化之测试用例加载到测试套件的几种方法
    python接口自动化之logging日志模块相关
    Fiddler篡改请求参数后重新发起请求操作
    python接口自动化之request模块一些注意事项
    MAC系统下python放webdriver等文件路径
    python安装suds模块提示ModuleNotFoundError: No module named 'client'
    mac系统利用命令安装jenkins
    linux命令
    python 连接数据库,查询结果写入数据到excel
    python连接mysql数据表查询表获取数据导入到txt中
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/9181888.html
Copyright © 2020-2023  润新知