HBase 6、用Phoenix Java api操作HBase
开发环境准备: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相关推荐
- 使用 Java API 操作 HBase
使用 Java API 操作 HBase 数据库,就类似HBase Shell,本质上一个是Java 代码,一个是Shell 命令.(hadoop 的文件系统莫不如此,可用Java API 的方式操作 ...
- Java Api 操作 Hbase
文章目录 1.需求 2.思路 2.1 建立远程Hbase集群连接 -- HbaseInit.java 2.2 创建表结构--CreateTable.java 2.3 插入数据 -- PutRow.ja ...
- HBase的CRUD的Java Api操作
Hbase的maven依赖: <dependency><groupId>org.apache.hbase</groupId><artifactId>hb ...
- Hbase java API操作(模板代码)
Hbase java API操作 1 创建maven工程 导入jar包 <repositories><repository><id>cloudera</id& ...
- Hbase 完全分布式模式的搭建、命令行操作、Java API操作
追风赶月莫停留,平芜尽处是春山. 文章目录 追风赶月莫停留,平芜尽处是春山. 环境 Hbase 完全分布式模式的搭建 一.下载安装包,解压到合适位置: 二.配置相关的文件: 三.将Hbase复制到其他 ...
- 简单hbase java,Hbase 简单java API 操作
package utils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.TableName ...
- 6 HBase java API访问HBase数据库
HBase java API访问HBase数据库 package com.hunan.hbase_options;import org.apache.hadoop.conf.Configuration ...
- 大数据学习笔记:利用JAVA项目操作HBase
文章目录 一.Java类与HBase数据模型之间的对应关系 二.利用JAVA项目操作HBase (一)HBase表基本操作 1.创建Java项目HBaseDemo 2.在pom.xml添加对hadoo ...
- 2021年大数据ZooKeeper(五):ZooKeeper Java API操作
目录 ZooKeeper Java API操作 引入maven坐标 节点的操作 ZooKeeper Java API操作 这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端 ...
最新文章
- LeetCode简单题之区域和检索 - 数组不可变
- Java中的5种同步辅助类
- 停课集训 11.29
- matlab ac电源,基于MATLAB对AC/DC/AC电源的死区效应的谐波分析及仿真
- spring 配置声明式事务 疯狂JAVA
- 通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流...
- REST服务的自动化测试
- 《第二章:深入了解超文本》
- python上三角九九乘法表_用5行Python代码打印九九乘法表
- 电脑怎么卸载软件干净_极客卸载,还你干净电脑
- linux内核代码入口地址,Linux内核源代码分析——Linux内核的入口
- 苹果电脑分屏之后没有声音_MAC录屏没有声音? 如何在苹果电脑MACBOOK上录音录屏...
- Tensorflow2.0之语言模型数据集(周杰伦专辑歌词)预处理
- 应届生求职面试真的有那么难吗
- 阿里p7架构师带你领略JMM
- 蓝桥杯 回文日期【第十一届】
- 南加州大学计算机专业研究生录取,南加州大学研究生录取案例分享
- 国内外主要黑苹果论坛一览(修正版)
- Elasticsearch 7.10 之 Slow Log
- 海润与联合“罗生门”升级