欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

HBase 6、用Phoenix Java api操作HBase

发布时间:2025/4/5 java 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 HBase 6、用Phoenix Java api操作HBase 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

开发环境准备:eclipse3.5jdk1.7window8hadoop2.2.0hbase0.98.0.2phoenix4.3.0

  1、从集群拷贝以下文件:core-site.xmlhbase-site.xmlhdfs-site.xml文件放到工程src

  2、把phoenixphoenix-4.3.0-client.jarphoenix-core-4.3.0.jar添加到工程classpath

  3、配置集群中各节点的hosts文件,把客户端的hostnameIP添加进去

  4、在客户端host文件中加入集群的hostnameIP

  5、工程截图

   

  例子1:

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;public class Phoenix_Test {/*** 使用phoenix提供的api操作hbase读取数据*/public static void main(String[] args) throws Throwable {try {// 下面的驱动为Phoenix老版本使用2.11使用,对应hbase0.94+// Class.forName("com.salesforce.phoenix.jdbc.PhoenixDriver");// phoenix4.3用下面的驱动对应hbase0.98+Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");} catch (Exception e) {e.printStackTrace();}// 这里配置zookeeper的地址,可单个,也可多个。可以是域名或者ipString url = "jdbc:phoenix:node5,node6,node7";// String url =// "jdbc:phoenix:41.byzoro.com,42.byzoro.com,43.byzoro.com:2181";Connection conn = DriverManager.getConnection(url);Statement statement = conn.createStatement();String sql = "select count(1) as num from WEB_STAT";long time = System.currentTimeMillis();ResultSet rs = statement.executeQuery(sql);while (rs.next()) {int count = rs.getInt("num");System.out.println("row count is " + count);}long timeUsed = System.currentTimeMillis() - time;System.out.println("time " + timeUsed + "mm");// 关闭连接rs.close();statement.close();conn.close();} }

  执行结果:

  

  例子2:

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;public class Phoenix_Test2 {/*** 使用phoenix提供的api操作hbase中读取数据*/public static void main(String[] args) throws Throwable {try {//下面的驱动为Phoenix老版本使用2.11使用,对应hbase0.94+//Class.forName("com.salesforce.phoenix.jdbc.PhoenixDriver");//phoenix4.3用下面的驱动对应hbase0.98+Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");} catch (Exception e) {e.printStackTrace();}//这里配置zk的地址,可单个,也可多个。可以是域名或者ipString url = "jdbc:phoenix:node5,node6,node7";Connection conn = DriverManager.getConnection(url);Statement statement = conn.createStatement();String sql = "select * from web_stat where core = 1";long time = System.currentTimeMillis();ResultSet rs = statement.executeQuery(sql);while (rs.next()) {//获取core字段值int core = rs.getInt("core");//获取core字段值String host = rs.getString("host");//获取domain字段值String domain = rs.getString("domain");//获取feature字段值String feature = rs.getString("feature");//获取date字段值,数据库中字段为Date类型,这里代码会自动转化为string类型String date = rs.getString("date");//获取db字段值String db = rs.getString("db");System.out.println("host:"+host+"\tdomain:"+domain+"\tfeature:"+feature+"\tdate:"+date+"\tcore:" + core+"\tdb:"+db);}long timeUsed = System.currentTimeMillis() - time;System.out.println("time " + timeUsed + "mm");//关闭连接rs.close();statement.close();conn.close();} }

  执行结果:

  

总结

以上是生活随笔为你收集整理的HBase 6、用Phoenix Java api操作HBase的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。