近公司因为业务需求,需要用到大数据框架,目前已经配置好了hadoop+hbase的集群。刚好看到phoenix这个可以像hbase执行标准SQL的插件,所以也用上了。
那么问题来了:以前我们用mysql或者Oracle,可以用mybatis或者hibernate这样的持久层框架,那么phoenix可以用么?phoenix也有自己的驱动,main方法测试也可以连接上,但是如果用以前Spring+mybatis的方式来管理的,死活是连不上的,不知道有没有人尝试过?或者有相关经历的?JAVA课程设计黑白棋源代码
个人理解是这样的:按以往的方式,我们可以用 Java+Spring+mybatis+mysql/Oracle ,形成一个简单的项目系统,那么现在如果用Java+Spring+phoenix+hadoop:hbase,应该也可以形成一个简单的项目系统,因为phoenix就是像hbase发送jdbc-sql的,但是关键的问题是用phoenix虽然可以写标准的SQL(虽然语法稍有变化),但还是无法解决我们正在项目的需求,因为我们做项目很少是直接会用jdbc的方式来处理数据的,一般都会用到mybatis或者hibernate这样的框架的,而phoenix只是提供向hbase发送sql的一个通道,对数据处理(主要是像mybatis这样的映射处理)并不友好,返回的结果我们还要做很多封装。虽然DBUtils可以帮我们省掉这一步,但还是希望能用mybatis这样的持久层框架。但似乎有点矛盾的是因为hbase是列数据库,他的列是动态的,那么phoenix查询出来的结果,也会是动态列的结果,如果、就算可以应用mybatis这样的框架,他又该如何处理这个问题呢?
所以我真正疑惑的是phoenix能不能结合mybatis使用?如果能,又该如何处理这种动态结果?
可以的,已实现