前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据开发:OLAP开源数据分析引擎简介

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

作者头像
成都加米谷大数据
修改2021-01-15 10:47:23
1.2K0
修改2021-01-15 10:47:23
举报
文章被收录于专栏:大数据开发大数据开发

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

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

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

OLAP开源引擎

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

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

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系的伙伴望而生畏。

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

Presto

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

Clickhouse

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

Kylin

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

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

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OLAP开源引擎
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档