介绍:Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排运行以生成标准的JDBC结果集。

直接使用HBase API、协同处理器与自己定义过滤器。对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。很多其它參考官网:http://phoenix.apache.org/



Phoenix实现了JDBC的驱动,使用Phoenix JDBC和普通的数据库(Mysql)JDBC一样,也能够通过Spring JDBCTemplate的方式,将数据库的操作模块化,以及进行数据源。事物方面的管理。

实现过程例如以下:

(1)关于Phoenix与Hbase的整合请參考:

编写pom.xml

  <dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-core</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>

(2)假设是windows的开发环境,配置C:\Windows\System32\drivers\etc\hosts文件,加入develop5的配置
192.168.199.242   develop5

(3)配置Spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd <bean id="phoenixJdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="phoenixDataSource"/>
<qualifier value="phoenixJdbcTemplate"></qualifier>
</bean> <bean id="baseInterfacePonenixImpl" class="com.eric.monitor.dao.impl.HBaseBaseDAOImpl">
<property name="jdbcTemplate" ref="phoenixJdbcTemplate"/>
</bean> <context:component-scan base-package="com.eric.monitor.dao.impl"/>
<context:component-scan base-package="com.eric.monitor.service.impl"/> <bean id="phoenixDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="org.apache.phoenix.jdbc.PhoenixDriver"/>
<property name="url" value="jdbc:phoenix:develop5"/>
<property name="username" value=""/>
<property name="password" value=""/>
<property name="initialSize" value="20"/>
<property name="maxActive" value="0"/>
<!--由于Phoenix进行数据更改时不会自己主动的commit,必需要加入defaultAutoCommit属性,否则会导致数据无法提交的情况-->
<property name="defaultAutoCommit" value="true"/>
</bean>
</beans>

(3)编写Java程序

import com.eric.common.framework.dao.HBaseDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository; import java.util.List; /**
* 类描写叙述
*
* @author aihua.sun
* @date 2015/3/9
* @since V1.0
*/ @Repository
public class HBaseBaseDAOImpl implements HBaseDao { private JdbcTemplate jdbcTemplate;
public HBaseBaseDAOImpl(JdbcTemplate template) {
this.jdbcTemplate = template;
}
public HBaseBaseDAOImpl() {
super(); }
public List query(String querySql) {
return jdbcTemplate.query(querySql);
} @Override
public void update(String querySql) {
System.out.println(querySql);
jdbcTemplate.update(querySql);
} @Override
public void batchUpdate(String updateSQL) {
System.out.println("##########BATCH UPDATE:"+updateSQL);
jdbcTemplate.batchUpdate(updateSQL);
} public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
} @Autowired
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}

最新文章

  1. pullToRefreshListView的简单使用
  2. EF中的开放式并发(EF基础系列--28)
  3. URI、URL、URN介绍
  4. Asset Catalog Help (二)---Creating an Asset Catalog
  5. 关于NopCommerce3.6版用户登录详解
  6. x264_param_t结构
  7. How to change a product dropdown attribute to a multiselect in Magento
  8. django-model-utils
  9. 一个挺好用的任务提示小软件 Rainlendar2
  10. &lt;转&gt;如何高效快速看懂Android源码
  11. C++ primer 练习 12.7
  12. SpringBoot之旅第三篇-日志
  13. touchweb网站常见问题,手机网站注意问题
  14. Spring Cloud Config 配置属性覆盖优先级。
  15. 检查CentOS7定时任务是否启用并执行过
  16. PHP读取文本文件(TXT)
  17. ionic 访问odoo11之具体业务类api接口
  18. php 微信支付V3 APP支付
  19. Sprint2的每日更新
  20. Kafka设计解析

热门文章

  1. linux系统日志及其rsyslog服务
  2. qt事件传递过程和处理
  3. Android - 隐藏最顶端的通知条(Top Notification Bar)
  4. UVa 11233 - Deli Deli
  5. ubuntu14.04中virtualbox虚拟机无法启动
  6. 利用手工编码的方式对srtus2进行输入验证
  7. KMP算法及KMP算法的应用(POJ2406)
  8. fragment Trying to instantiate a class com.example.testhuanxindemo.MyFragment that is not a Fragmen
  9. 快速学会搭建SVN服务器
  10. C编译: 使用gdb调试