Spark 实战系列Phoenix 整合 spark 进行查询分析
Posted JasonLee实时计算
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark 实战系列Phoenix 整合 spark 进行查询分析相关的知识,希望对你有一定的参考价值。
Phoenix 整合 spark 进行查询分析
前言
Phoenix 是一个开源的 HBASE SQL 层。它不仅可以使用标准的 JDBC API 替代 HBASE client API 创建表,插入和查询 HBASE,也支持二级索引、事物以及多种 SQL 层优化。
为什么要使用 Phoenix ?
因为使用 hbase 的 api 查询,代码开发起来比较麻烦,而 Phoenix 使支持 SQL 查询的
Phoenix 可以构建盐表,能够解决热点问题,从而避免一个 rs 频繁被请求,其他的 rs 很闲的
Phoenix 支持二级索引,因为可以构建盐表,索引也是分区的.
为什么要和 spark 整合呢 ?
Phoenix 是 hbase 的 SQL 层,主要为了解决高并发、低延迟、简单查询
场景,当然也可以解决一定的分析需求。 必须命中索引 且 命中后 返回的数据较少, 此时 Phoenix 是比较适合的,但是如果有复杂的业务查询和大量的聚合操作,就会对hbase 的稳定性造成一定的影响,这个时候 Phoenix 是不适合的.
spark 提供的分析引擎满足 低并发,高延迟,复杂计算
场景。 不管怎么复杂的 SQL,都可以完成。 另外 Spark 可以支持sql、scala、java、python 多种语言,支持流、OLAP、离线分析、数据清洗、支持多数据源,复杂的业务场景下,非常适合.
所以将 phoenix 做存储,spark 做计算层。这样就结合了 phoenix 查询速度快和 spark 计算速度快的优点。是一个非常好的选择,这样也使两者支持更多的场景
下面介绍一个 spark 读取 Phoenix 中的数据,然后进行业务逻
以上是关于Spark 实战系列Phoenix 整合 spark 进行查询分析的主要内容,如果未能解决你的问题,请参考以下文章
Spark入门实战系列--3.Spark编程模型(下)--IDEA搭建及实战
Spark Streaming实时流处理项目实战Spark Streaming整合Kafka实战一
Spark Streaming实时流处理项目实战Spark Streaming整合Kafka实战一