今天介绍一个大数据框架 Phoenix。还是按照之前的学习方式,首先看看官网对这个框架的介绍。
1.简介
OLTP and operational analytics for Apache Hadoop
Phoenix 是 Apache Hadoop 的 OLTP(联机事务处理) 和运营分析。
Overview
Apache Phoenix enables OLTP and operational analytics in Hadoop for low latency applications by combining the best of both worlds:
- the power of standard SQL and JDBC APIs with full ACID transaction capabilities and
- the flexibility of late-bound, schema-on-read capabilities from the NoSQL world by leveraging HBase as its backing store
Apache Phoenix is fully integrated with other Hadoop products such as Spark, Hive, Pig, Flume, and Map Reduce.
概述:
Apache Phoenix 在 Hadoop 上同时做到了低延迟的 OLTP 和运营分析:
- 具有完整 ACID 事务功能的标准 SQL 和 JDBC API
- 基于 HBase 作为后备存储,实现了 NoSQL 数据库才拥有灵活性,包括后期绑定、模式读取功能
Apache Phoenix 与 Spark、Hive、Pig、Flume 和 Map Reduce 等其他 Hadoop 产品完全集成。
Mission
Become the trusted data platform for OLTP and operational analytics for Hadoop through well-defined, industry standard APIs.
使命:
通过定义明确的行业标准 API,成为 Hadoop 之上可信的 OLTP 和运营分析的数据平台。
总结:
Phoenix 最早是 saleforce 的一个开源项目,后来成为 Apache 的顶级项目。
Phoenix 构建在 HBase 之上的开源 SQL 层。能够让我们使用标准的 JDBC API 去建表,插入数据和查询 HBase 中的数据,从而可以避免使用 HBase 的客户端 API。
在我们的应用和 HBase 之间添加了 Phoenix,并不会降低性能,而且我们也少写了很多代码。
2.特点
- 将 SQL 查询编译为 HBase 扫描
- 确定扫描 Rowkey 的最佳开始和结束位置
- 扫描并行执行
- 将 where 子句推送到服务器端的过滤器
- 通过协处理器进行聚合操作
- 完美支持 HBase 二级索引创建
- DML 命令以及通过 DDL 命令创建和操作表和版本化增量更改。
- 容易集成:如Spark,Hive,Pig,Flume 和 Map Reduce。
欢迎关注公众号,每天分享大数据面试。