天天看點

Phoenix Java API配置及使用總結# ZK方式# Query Server方式

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=01              id=1005529;amount=10;status=03              id=1005530;amount=10;status=01              id=1005531;amount=10;status=01              id=1005532;amount=100;status=03
           

3. pom.xml依賴phoenix-core

# 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();
    }
}
           

輸出結果:​​​​​​​

Phoenix Java API配置及使用總結# ZK方式# Query Server方式

往期推薦:

資料中台到底是不是大資料的下一站?

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解析

資料倉庫開發規範

Phoenix Java API配置及使用總結# ZK方式# Query Server方式