JDBC操作Phoenix
此处演示一个标准的JDBC连接操作,实际开发中会直接使用别的框架(比如Spark或者Flink)内嵌的Phoenix连接。
1. 添加maven依赖
新建maven项目,配置pom.xml:
xml
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-client-embedded-hbase-2.6</artifactId>
<version>5.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>2.24.3</version>
</dependency>
2. 编写代码
创建PhoenixClient类:
java
public class PhoenixClient {
public static void main(String[] args) throws SQLException {
// 1.添加链接
String url = "jdbc:phoenix:hadoop102,hadoop103,hadoop104:2181";
Properties pros = new Properties();
pros.setProperty("phoenix.schema.isNamespaceMappingEnabled", "true");
pros.setProperty("phoenix.schema.mapSystemTablesToNamespace", "true");
// 2.创建连接
Connection conn = DriverManager.getConnection(url, pros);
// 5.编译 SQL 语句
PreparedStatement ps = conn.prepareStatement("select * from \"bigdata\".\"user\"");
// 6.执行语句
ResultSet resultSet = ps.executeQuery();
// 7.输出结果
while (resultSet.next()){
System.out.println(resultSet.getString(1) + ":" +
resultSet.getString(2) + ":" + resultSet.getString(3));
}
// 8.关闭资源
conn.close();
// 由于 Phoenix 框架内部需要获取一个 HBase 连接,所以会延迟关闭
// 不影响后续的代码执行
System.out.println("end....");
}
}
运行结果: