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

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

  2、把phoenix的phoenix-4.3.0-client.jar和phoenix-core-4.3.0.jar添加到工程classpath

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

  4、在客户端host文件中加入集群的hostname和IP

  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相关推荐

  1. 使用 Java API 操作 HBase

    使用 Java API 操作 HBase 数据库,就类似HBase Shell,本质上一个是Java 代码,一个是Shell 命令.(hadoop 的文件系统莫不如此,可用Java API 的方式操作 ...

  2. Java Api 操作 Hbase

    文章目录 1.需求 2.思路 2.1 建立远程Hbase集群连接 -- HbaseInit.java 2.2 创建表结构--CreateTable.java 2.3 插入数据 -- PutRow.ja ...

  3. HBase的CRUD的Java Api操作

    Hbase的maven依赖: <dependency><groupId>org.apache.hbase</groupId><artifactId>hb ...

  4. Hbase java API操作(模板代码)

    Hbase java API操作 1 创建maven工程 导入jar包 <repositories><repository><id>cloudera</id& ...

  5. Hbase 完全分布式模式的搭建、命令行操作、Java API操作

    追风赶月莫停留,平芜尽处是春山. 文章目录 追风赶月莫停留,平芜尽处是春山. 环境 Hbase 完全分布式模式的搭建 一.下载安装包,解压到合适位置: 二.配置相关的文件: 三.将Hbase复制到其他 ...

  6. 简单hbase java,Hbase 简单java API 操作

    package utils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.TableName ...

  7. 6 HBase java API访问HBase数据库

    HBase java API访问HBase数据库 package com.hunan.hbase_options;import org.apache.hadoop.conf.Configuration ...

  8. 大数据学习笔记:利用JAVA项目操作HBase

    文章目录 一.Java类与HBase数据模型之间的对应关系 二.利用JAVA项目操作HBase (一)HBase表基本操作 1.创建Java项目HBaseDemo 2.在pom.xml添加对hadoo ...

  9. 2021年大数据ZooKeeper(五):ZooKeeper Java API操作

    目录 ZooKeeper Java API操作 引入maven坐标 节点的操作 ZooKeeper Java API操作 这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端 ...

最新文章

  1. LeetCode简单题之区域和检索 - 数组不可变
  2. Java中的5种同步辅助类
  3. 停课集训 11.29
  4. matlab ac电源,基于MATLAB对AC/DC/AC电源的死区效应的谐波分析及仿真
  5. spring 配置声明式事务 疯狂JAVA
  6. 通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流...
  7. REST服务的自动化测试
  8. 《第二章:深入了解超文本》
  9. python上三角九九乘法表_用5行Python代码打印九九乘法表
  10. 电脑怎么卸载软件干净_极客卸载,还你干净电脑
  11. linux内核代码入口地址,Linux内核源代码分析——Linux内核的入口
  12. 苹果电脑分屏之后没有声音_MAC录屏没有声音? 如何在苹果电脑MACBOOK上录音录屏...
  13. Tensorflow2.0之语言模型数据集(周杰伦专辑歌词)预处理
  14. 应届生求职面试真的有那么难吗
  15. 阿里p7架构师带你领略JMM
  16. 蓝桥杯 回文日期【第十一届】
  17. 南加州大学计算机专业研究生录取,南加州大学研究生录取案例分享
  18. 国内外主要黑苹果论坛一览(修正版)
  19. Elasticsearch 7.10 之 Slow Log
  20. 海润与联合“罗生门”升级

热门文章

  1. 一些java基本程序图解1
  2. RSA加密算法原理和java简单实现
  3. node.js学习总结
  4. SpringBoot2.0 整合 ElasticSearch框架,实现高性能搜索引擎
  5. GIS输出PDF为什么标注有问题
  6. Java虚拟机5:常用JVM命令参数
  7. 天气正好,hello world!
  8. SQL Server 批量插入数据的两种方法(转)
  9. silverlight turntable
  10. android垂直排列元素_Android弹性布局(FlexboxLayout)