Phoenix Java API配置及使用总结

Phoenix定位为OLTP和操作型分析(operational analytics),大多用于在线业务,稳定性要求第一位。Phoenix的功能很强大,也很灵活,Phoenix SQL基于SQL-92标准,但是还是有很多方言,使用时需要特别注意。

 

# ZK方式

0. 需要把hbase-site.xml放到resource下面

1. 可以配置到Spring项目中,比如下面数据源配置

<bean id="phoenixDataSource" class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close">
    <property name="driverClassName" value="org.apache.phoenix.jdbc.PhoenixDriver"/>
    <property name="url" value="jdbc:phoenix:192.168.1.200,192.168.1.201,192.168.1.202:12181"/>
    <property name="username" value="" />
    <property name="password" value="" />
</bean>

 

2. 也可以简单main方法进行jdbc测试

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class TestPhoenix {

    public static void main(String[] args) throws Exception {

        Connection conn = DriverManager.getConnection("jdbc:phoenix:192.168.1.200,192.168.1.201,192.168.1.202:12181");

        Statement stat = conn.createStatement();
        ResultSet rs = stat.executeQuery("select * from zlxx.wt_trade_refund limit 5");
        while (rs.next()) {
            System.out.println("id=" + rs.getString("id") + ";amount=" + rs.getString("amount") + ";status=" + rs.getString("status"));
        }
        stat.close();
        conn.close();
    }
}

 

输出结果:

id=1005528;amount=100;status=01id=1005529;amount=10;status=03id=1005530;amount=10;status=01id=1005531;amount=10;status=01id=1005532;amount=100;status=03

3. pom.xml依赖phoenix-core

<dependency>    <groupId>org.apache.phoenix</groupId>    <artifactId>phoenix-core</artifactId>    <version>4.14.3-HBase-1.4</version></dependency>

# Query Server方式

不需要hbase-site.xml,也不需要phoenix-core

0. 不需要hbase-site.xml

1. 配置到Spring项目中,如下数据源

<bean id="phoenixDataSource" class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close">
    <property name="driverClassName" value="org.apache.phoenix.queryserver.client.Driver"/>
    <property name="url" value="jdbc:phoenix:thin:url=http://172.168.1.22:8765;serialization=PROTOBUF"/>
    <property name="username" value="" />
    <property name="password" value="" />
</bean>

 

2. maven依赖phoenix-queryserver-client

<dependency>    <groupId>org.apache.phoenix</groupId>    <artifactId>phoenix-queryserver-client</artifactId>    <version>4.14.3-HBase-1.4</version></dependency>

3. 简单的java#main方法测试​​​​​​​

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class TestPhoenix2 {

    public static void main(String[] args) throws Exception {

        Connection conn = DriverManager.getConnection("jdbc:phoenix:thin:url=http://192.168.1.22:8765;serialization=PROTOBUF");
        Statement stat = conn.createStatement();
        ResultSet rs = stat.executeQuery("select * from zlxx.wt_trade_refund limit 5");
        while (rs.next()) {
            System.out.println("id=" + rs.getString("id") + ";amount=" + rs.getString("amount") + ";status=" + rs.getString("status"));
        }
        stat.close();
        conn.close();
    }
}

 

输出结果:​​​​​​​

id=1005528;amount=100;status=01id=1005529;amount=10;status=03id=1005530;amount=10;status=01id=1005531;amount=10;status=01id=1005532;amount=100;status=03

 

往期推荐:

 

数据中台到底是不是大数据的下一站?

Phoenix表映射

Phoenix视图映射

Kafka消息送达语义说明

Kafka基础知识总结

Hadoop YARN:ApplicationMaster向ResourceManager注册AM源码调试

Apache Hadoop YARN:Client<-->ResourceManager源码解析

Apache Hadoop YARN:Client<-->ResourceManager源码DEBUG

Hadoop YARN:ApplicationMaster与ResourceManager交互源码解析

Hive企业级调优

HiveQL查询连续三天有销售记录的店铺

HiveQL实战蚂蚁森林低碳用户排名分析:解法一

HiveQL实战蚂蚁森林低碳用户排名分析:解法二

HiveQL实战蚂蚁森林植物申领统计分析

Hive-函数

Hive-查询

Hive-DML(Data Manipulation Language)数据操作语言

Hive-DDL(Data Definition Language)数据定义

Hive优化(整理版)

Spark Core之Shuffle解析

数据仓库开发规范

©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页