ApachePhoenix目录ContentsApachePhoenix的基本介绍安装ApachePhoenixApachePhoenix快速入门ApachePhoenix基本使用ApachePhoenix预分区操作ApachePhoenix视图操作基于ApachePhoenix实现HBASE的二级索引学习目标LearningObjectives1.能够安装部署ApachePhoenix2.能够掌握ApachePhoenix的基本操作3.能够掌握使用ApachePhoenix建立二级索引提升性能4.能够基于ApachePhoenix的JDBCAPI编写java代码操作HBaseApachePhoenix的基本介绍01Phoenix官网:「WeputtheSQLbackinNoSQL」ApachePhoenix让Hadoop中支持低延迟OLTP和业务操作分析。提供标准的SQL以及完备的ACID事务支持通过利用HBase作为存储,让NoSQL数据库具备通过有模式的方式读取数据,我们可以使用SQL语句来操作HBase,例如:创建表、以及插入数据、修改数据、删除数据等。Phoenix通过协处理器在服务器端执行操作,最小化客户机/服务器数据传输ApachePhoenix可以很好地与其他的Hadoop组件整合在一起,例如:Spark、Hive、Flume以及MapReduce。Phoenix的简介Phoenix官方网址:http://phoenix.apache.org/Phoenix不会影响HBase性能,反而会提升HBase性能Phoenix将SQL查询编译为本机HBase扫描确定scan的key的最佳startKey和endKey编排scan的并行执行将WHERE子句中的谓词推送到服务器端通过协处理器执行聚合查询用于提高非行键列查询性能的二级索引统计数据收集,以改进并行化,并指导优化之间的选择跳过扫描筛选器以优化IN、LIKE和OR查询行键加盐保证分配均匀,负载均衡Phoenix的简介使用Phoenix是否会影响HBase的性能呢?Phoenix的简介那些公司在使用Phoenix?Phoenix的简介官方性能测试Phoenix的简介官方性能测试Phoenix的简介官方性能测试上述两张图是从Phoenix官网拿下来的,这容易引起一个歧义。就是:有了HBase+Phoenix,那是不是意味着,我们将来做数仓(OLAP)就可以不用Hadoop+Hive了?千万不要这么以为,HBase+Phoenix是否适合做OLAP取决于HBase的定位。Phoenix只是在HBase之上构建了SQL查询引擎(注意:我称为SQL查询引擎,并不是像MapReduce、Spark这种大规模数据计算引擎)。HBase的定位是在高性能随机读写,Phoenix可以使用SQL快插查询HBase中的数据,但数据操作底层是必须符合HBase的存储结构,例如:必须要有ROWKEY、必须要有列蔟。因为有这样的一些限制,绝大多数公司不会选择HBase+Phoenix来作为数据仓库的开发。而是用来快速进行...