HBase 5Phoenix使用

Posted Bodi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase 5Phoenix使用相关的知识,希望对你有一定的参考价值。

1、建表

执行建表语句
$ ./psql.py localhost:2181 ../examples/stock_symbol.sql

其中../examples/stock_symbol.sql是建表的sql语句

CREATE TABLE IF NOT EXISTS WEB_STAT (
  HOST CHAR(2) NOT NULL,
  DOMAIN VARCHAR NOT NULL,
  FEATURE VARCHAR NOT NULL,
  DATE DATE NOT NULL,
  USAGE.CORE BIGINT,--usage指定列族名
  USAGE.DB BIGINT,--usage指定列族名
  STATS.ACTIVE_VISITOR INTEGER
  CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, FEATURE, DATE)--指定主键
);

2、导入数据

命令:./psql.py -t WEB_STAT localhost:2181 ../examples/web_stat.csv

PS:其中 -t 后面是表名, ../examples/web_stat.csv 是csv数据(注意数据的分隔符需要是逗号)。

3、查询数据

  首先使用sqlline查看(截图为部分列的数据),查询表名不区分大小写。

  查询1、查询全部记录

    语句:select * from web_stat;

  查询2、查询记录总条数

    语句:select count(1) from web_stat;

  查询3、查询结果分组排序

    语句:select domain,count(1) as num from web_stat group by domain order by num desc;

  查询4、求平均值

    语句:select avg(core) from web_stat;

  查询5、多字段分组,排序,别名。

    语句:select domain,count(1) as num,avg(core) as core,avg(db) as db from web_stat group by domain order by num desc;

  查询6、查询日期类型字段

    语句:select host,domain,date from web_stat where TO_CHAR(date)=‘2013-01-15 07:09:01.000‘;

  查询7、字符串,日期类型转换

    语句:select TO_DATE(‘20131125‘,‘yyyyMMdd‘) from web_stat;

    Ps:输入的日期字符串会被转换为hbasedate的日期类型。

  总结:Phoenix还支持了很多函数和sql语法,在这里不再一一列举。更多请参考Phoenix支持部分

4Phoenix基本shell命令

  PS:以下,可能有部分命令在Phoenix更高版本中已失效,改为其他命令代替,请注意。 

0: jdbc:phoenix:localhost> help
!all                Execute the specified SQL against all the current connections
!autocommit         Set autocommit mode on or off
!batch              Start or execute a batch of statements
!brief              Set verbose mode off
!call               Execute a callable statement
!close              Close the current connection to the database
!closeall           Close all current open connections
!columns            List all the columns for the specified table
!commit             Commit the current transaction (if autocommit is off)
!connect            Open a new connection to the database.
!dbinfo             Give metadata information about the database
!describe           Describe a table
!dropall            Drop all tables in the current database
!exportedkeys       List all the exported keys for the specified table
!go                 Select the current connection
!help               Print a summary of command usage
!history            Display the command history
!importedkeys       List all the imported keys for the specified table
!indexes            List all the indexes for the specified table
!isolation          Set the transaction isolation for this connection
!list               List the current connections
!manual             Display the SQLLine manual
!metadata           Obtain metadata information
!nativesql          Show the native SQL for the specified statement
!outputformat       Set the output format for displaying results
                    (table,vertical,csv,tsv,xmlattrs,xmlelements)
!primarykeys        List all the primary keys for the specified table
!procedures         List all the procedures
!properties         Connect to the database specified in the properties file(s)
!quit               Exits the program  此命令在Phoenix4.3版本已改为!exit
!reconnect          Reconnect to the database
!record             Record all output to the specified file
!rehash             Fetch table and column names for command completion
!rollback           Roll back the current transaction (if autocommit is off)
!run                Run a script from the specified file
!save               Save the current variabes and aliases
!scan               Scan for installed JDBC drivers
!script             Start saving a script to a file
!set                Set a sqlline variable

 

以上是关于HBase 5Phoenix使用的主要内容,如果未能解决你的问题,请参考以下文章

Hbase的bulkload代码

Hbase JavaAPI使用

[How to] 使用HBase协处理器---Endpoint客户端代码的实现

无法从 MapReduce 代码访问 HBase

Hbase集群搭建及所有配置调优参数整理及API代码运行

技术答疑HBase封装easy-hbase的原理是怎样的