大数据开发:OLAP开源数据分析引擎简介

OLAP 的全称是OnLine Analytical Processing

OLAP数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。典型的应用就是复杂的动态的报表系统。是数据仓库的核心部心,所谓数据仓库是对于大量已经由OLTP形成的数据的一种分析型的数据库,用于处理商业智能、决策支持等重要的决策信息;数据仓库是在数据库应用到一定程序之后而对历史数据的加工与分析,读取较多,更新较少,TPCH属于此类

 针对于不断新增的海量数据资源,企业需要通过及时地数据分析处理,才能从中挖掘出价值线索,反哺业务,实现数据驱动业务发展。而企业级的数据分析场景,多是采用OLAP数据分析引擎。今天的大数据开发分享,我们就主要来讲讲主流的几个OLAP开源数据分析引擎。

对于企业而言,想要控制成本,那么选择开源框架进行开发是不二之选,而在OLAP数据分析领域,开源的技术框架是非常多的,而各个框架各有优缺点,最终还是需要结合到实际需求去进行技术选型。

OLAP开源引擎

目前市面上主流的开源OLAP引擎包含不限于:Hive、Spark SQL、Presto、Kylin、Impala、Druid、Clickhouse、Greeplum等,这里选取比较有代表性的几个框架来具体展开——

Apache Hive

说到Hive,大家想必都不算陌生,作为Hadoop的数据仓库工具,Hive在大规模的数据分析处理上,是非常有优势的。

Hive的运行原理,是将HQL语句(类SQL语法)转化成MapReduce进行执行,本质上来说,就是一款基于HDFS的MapReduce计算框架,使用HQL就可以对存储数据进行分析。

Hive的优点是学习简单(支持SQL语法)、扩展性强(底层基于HDFS)。但是同时,Hive的缺点也是明显的,因为底层需转换为MapReduce任务执行,所以延迟性是比较高的。所以通常来说,Hive更适合数据仓库的统计分析。

Spark SQL

SparkSQL的前身是Shark,它将 SQL 查询与 Spark 程序无缝集成,可以将结构化数据作为 Spark 的 RDD 进行查询。SparkSQL作为Spark生态的一员继续发展,而不再受限于Hive,只是兼容Hive。

Impala

Impala算是相对老牌一点的OLAP引擎,底层强依赖于kudu或Hive,其他的一概不支持,有很多大厂使用,比如滴滴,在前几年和性能不占优势的Hadoop系计算引擎相比,确实十几秒钟能把上千亿、TB级数据的SQL查出来让人眼前一亮,但是它的局限性在于是用C++写的,这让很多java系的伙伴望而生畏。

Presto

Presto是FaceBook开源的大数据分布式SQL查询引擎,客户端发出数据查询请求时,先有语法解析器进行解析,解析之后再给到对应的节点执行任务。Presto通过自己系统内部的查询和执行引擎来完成数据分析处理,所有的操作都在内存中完成,所以速度会快很多。Presto的优点是速度快、支持多数据源接入,缺点是容易内存溢出。

Clickhouse

Clickhouse是俄罗斯开源的一款列式数据库,在做数据分析时可直接选择某几列来作为分析属性,获取数据非常快,延迟低。在计算层,ClickHouse提供了多核并行、分布式计算、近似计算、复杂数据类型支持等技术能力,最大化程度利用CPU资源,提升系统查询速度。Clickhouse的优点就是快快快、分布式高可用,在数据分析这维度看基本没有缺点。

Kylin

是一个应用在T+1场景的olap引擎,提前建各个维度的cube,也就是相当于把你要查的东西全部提前跑出来,到时候直接拿就行了,所以预计算量很大,查询速度很快,这也是他的特点,也是在有限的应用场景管用,比如多维分析,速度极快。Kylin的优点就是简单、快速,缺点就是可选数据分析维度太多。

关于大数据开发,OLAP开源数据分析引擎,以上就对主流的一些产品做了基本的介绍了。对于大数据开发者而言,对于这些产品需要有相应的了解,并且能够根据需求来进行技术选型。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值