Apache Phoenix

apache phoenix 初探

谁说我不能喝 提交于 2020-03-10 19:07:20
最近工作中用到HBase。但HBase的原生客户端使用起来相当繁琐,spring-data-hadoop又年久失修,和最新的HBase集成起来各种异常。因此找到了 Apache Phoenix —— 它支持使用标准SQL和 JDBC接口来操作HBase。 本文记录一下使用phoenix的常见问题(主要来自 phoenix faq ),最后是笔者项目中用到的配置。 Phoenix 常见问题 Phoenix JDBC URL 语法格式 Thick Driver thick driver格式如下,请注意中括号里边的内容是可选的: jdbc:phoenix:[ZooKeeper地址(多个请用逗号分隔) [:port[:hbase root znode[:kerberos_域名[:kerberos keytab地址]]]] 最简单的例子为: jdbc:phoenix:localhost 复杂的例子为: jdbc:phoenix:zookeeper1.domain,zookeeper2.domain,zookeeper3.domain:2181:/hbase-1:phoenix@EXAMPLE.com:/etc/security/keytab/phoenix.keytab 值得注意的是每个可选的内容要求前置所有内容完整。 实际上笔者的driver url为: jdbc:phoenix

Apache Phoenix介绍(SQL on HBase)

时光总嘲笑我的痴心妄想 提交于 2019-12-06 08:53:36
1. Phoenix定义 Phoenix最早是saleforce的一个开源项目,后来成为Apache基金的顶级项目。 Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询。 put the SQL back in NoSQL Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase扫描,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。 HBase的查询工具有很多,如:Hive、Tez、Impala、Spark SQL、Phoenix等。 Phoenix通过以下方式使我们可以少写代码,并且性能比我们自己写代码更好: 将SQL编译成原生的HBase scans。 确定scan关键字的最佳开始和结束 让scan并行执行 ... 使用Phoenix的公司 Paste_Image.png 2. 历史演进 3.0/4.0 release ARRAY Type . 支持标准的JDBC数组类型 Sequences . 支持 CREATE/DROP SEQUENCE, NEXT VALUE FOR,