Phoenix和Hbase整合

来源:互联网 发布:js 修改input type 编辑:程序博客网 时间:2024/06/06 03:18

1.什么是Phonenix?
Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询。
Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫描,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。
Phoenix通过以下方式使我们可以少写代码,并且性能比我们自己写代码更好:

将SQL编译成原生的HBase scans。
确定scan关键字的最佳开始和结束
让scan并行执行

2.Phoenix和Hbase整合

  1. 安装Hbase集群 这里不做安装
  2. 将phoenix-[version]-server.jar放入服务端和master节点的HBase的lib目录下
  3. 重启Hbase集群

Phonenix JDBC连接
注意:需要把本地的hosts添加域名

public static Connection GetConnection() {        Connection cc = null;        String driver = "org.apache.phoenix.jdbc.PhoenixDriver";        String url = "jdbc:phoenix:master,slave1,slave2:2181";        try {            Class.forName(driver);        } catch (ClassNotFoundException e) {            e.printStackTrace();        }        if (cc == null) {            try {                cc = DriverManager.getConnection(url);            } catch (SQLException e) {                e.printStackTrace();            }        }        return cc;    }    public static void main(String[]args){        System.out.println(GetConnection());    }