1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 大数据平台的分类与选型指南

大数据平台的分类与选型指南

时间:2023-08-30 16:24:14

相关推荐

大数据平台的分类与选型指南

大数据的处理过程可以分为大数据采集、存储、结构化处理、隐私保护、挖掘、结果展示(发布)等。各种领域的大数据应用一般都会涉及到这些基本过程,但不同应用可能会有所侧重。对于互联网大数据而言,由于其具有独特完整的大数据特点,除了共性技术外,采集技术、结构化处理技术、隐私保护也非常突出,因此在另一篇推送文章(“基于互联网大数据掌握大数据核心技术”)中我阐述了互联网大数据作为教学、科研和应用研究的优势。

有很多算法和模型可以解决这些处理过程中的技术问题,并且为了最终用户的使用方便,它们大都被进一步的封装,形成了比较简单易用的操作平台。目前大数据技术平台有很多,归纳起来可以按照以下方式进行分类:

(1)从大数据处理的过程来分:包括数据存储、数据挖掘分析、以及为完成高效分析挖掘而设计的计算平台,它们完成数据采集、ETL、存储、结构化处理、挖掘、 分析、预测、应用等功能。

(2)从大数据处理的数据类型来划分:可以分为针对关系型数据、非关系型数据(图数据、文本数据、网络型数据等)、半结构化数据、混合类型数据处理的技术平台。

(3)从大数据处理的方式来划分:可以分为批量处理、实时处理、综合处理。其中批量数据是对成批数据进行一次性处理,而实时处理(流处理)对处理的延时有严格的要求,综合处理是指同时具备批量处理和实时处理两种方式。

(4)从平台对数据的部署方式看,可以分为基于内存的、基于磁盘的。前者在分布式系统内部的数据交换是在内存中进行,后者则是通过磁盘文件的方式。

此外,技术平台还有分布式、集中式之分,云环境和非云环境之分等。阿里云大数据平台构建在阿里云云计算基础设施之上,为用户提供了大数据存储、计算能力、大数据分析挖掘、以及输出展示等服务,用户可以容易地实现BI商业智能、人工智能服务,具备一站式数据应用能力。如下图所示,描述了基于阿里云大数据技术的个性化新闻推荐系统分析设计与部署方法。

不同的大数据技术平台提供了对这些处理过程的支持,有的平台可能会支持多个过程,但是侧重点也不同,支持的深度也有所不同,因此有必要熟悉各种平台的功能,并做出比较分析,以便在实际应用中选择适合于自己需求的技术平台。

选择一个合适的大数据技术平台是非常重要的,它能够使得大数据应用开发更加容易、让开发人员更集中精力在业务层面的数据分析与处理上。一些共性的基础问题,例如数据如何存储、如何检索、数据统计等,就可以由平台来完成。选择合适的大数据技术平台应当考虑以下因素:

(1)平台的功能与性能

由于不同平台侧重的功能不同,平台的性能也就有很多需要考察的方面。比如对于存储平台来说,数据的存储效率、读写效率、并发访问能力、对结构化与非结构化数据存储的支持,所提供的数据访问接口等方面就是比较重要的。对于大数据挖掘平台来说,所支持的挖掘算法、算法的封装程度、数据挖掘结果的展示能力、挖掘算法的时间和空间复杂度等,是比较重要的指标。

(2)平台的集成度

好的平台应该具有较高的集成度,为用户提供良好的操作界面,具有完善的帮助和使用手册、系统易于配置、移植性好。同时随着目前软件开源的趋势,开源平台有助于其版本的快速升级,尽快发现其中的bug,此外,开源的架构也比较容易进行扩展,植入更多的新算法,这对于最终用户而言也是比较重要的。

(3)是否符合技术发展趋势

大数据技术是当前发展和研究的热点,其最终将走向逐步成熟,可以预见在这个过程中,并非所有的技术平台都能生存下来。只有符合技术发展趋势的技术平台才会被用户、被技术开发人员所接受。因此,一些不支持分布式、集群计算的平台大概只能针对较小的数据量,侧重于对挖掘算法的验证。而与云计算、物联网、人工智能联系密切的技术平台将成为主流,是技术发展趋势。

同时应当充分意识到,技术迭代更新速度加快,当我们花很多时间去掌握熟悉某种技术平台后,可能新的更好的技术平台出现了,导致我们受累奔波于各种技术平台,因此,最好的策略就是全面系统地掌握大数据技术的原理和实现方案,这样学习新的技术平台就很容易上手。

以下是关于大数据平台选型过程中的几个难点及解读:

Q1、企业级大数据平台如何选型?

A:

rein07 某证券 系统架构师:

现在,大数据平台基本特指Hadoop平台了,选型主要还是指Haoop管理平台。现在主流的厂商有cloudera和Hortonworks,国内有华为的fusion insight和星环科技的产品。相对来说,cloudera具有较大优势,市场占有率也较高,管理平台非常实用,对与平台管理人员来说是不可多得的好帮手。

陈星星 科技公司技术经理:

Hadoop现在已经是大数据的事实标准了,企业级大数据平台建议选择基于Hadoop开源的生态,目前对于Hadoop开源商业推广最大的两个场景及cloudera(CDH版本,适合于linux系统上运行)和Hortonworks(HDP版本,支持运行在windows系统上运行),目前是一家公司了,可以选择其中一家产品即可。

Q2、一般一个大数据项目实施过程中应该注意什么?

A:

rein07 某证券 系统架构师:

这个过程与一般的项目没有本质区别,基本的需求、分析、设计、开发、测试都是要有的。不同的地方是大数据项目采用的技术不像传统的基于数据库的SQL开发那么简单,对编程能力的要求较高,同时对遇到问题的排查能力要求也较高,因为是分布式运行,导致问题排查变得非常复杂。

陈星星 科技公司技术经理:

1、大数据项目实施过程中涉及到和客户的众多业务系统进行对接的,也就是数据的采集,到数据的清洗、集成、标准、数据治理、数据的建模、挖掘分析和最后的可视化等过程。

2、在和业务系统对接的过程中需要注意的必须拿到业务系统的数据字典(如果没有,拿到数据对数据的识别和分析非常困难)。

3、数据业务分析维度,需要项目经理进场需要客户明确的需求后确定系统的范围和边界(否则需求和范围不停的变,开发周期遥遥无期)。

4、准备好大数据平台要求的底层环境和资源(CPU、内存、硬盘、网络等),大数据项目对于这些资源的要求还是相对比较高的,例如硬盘容量,例如要分析日志类的数据或是流水数据。

详见:9000字详解企业大数据项目规划落地实施路线图

Q3、传统数仓转向大数据平台的必要性?

如题,或者什么场景的的传统数仓适合转向大数据平台。转向大数据平台后都解决了什么样的问题,暴露出什么样的问题?

A:

rein07 某证券 系统架构师:

大数据平台采用分布式架构,用于解决海量数据的存储和分析问题,传统数仓无法解决上百TB及PB级的分析问题。大数据平台由于架构新,使用模式也不尽相同,有的使用SQL,有的使用spark编程,有的使用mapreduce编程,所以存在一定的学习成本;大数据平台还在逐步完善中,尤其是用户管理、安全、元数据管理等方面还存在一定问题,使用时需要注意。

Q4、大数据底层平台对硬件的要求有哪些?

A:

rein07 某证券 系统架构师:

1、在企业内部,最好保证集群中所有机器的配置保持一直,否则容易出现一台机器运行较慢,从而拖慢整体任务运行速度的情况。

2、大数据平台对网络要求较高,在几十台机器的集群下,如果采用千兆网络,极其容易出现某一个大任务把带宽占满的情况。

3、平台对CPU、硬盘的需求相对网络要低点,但也不能太低,否则IO上不来,任务也会被拖慢。

4、平台对内存的要求高,尤其在一个平台内搭建Impala、Spark、MR、Hive、HBase等组件共享资源的情况下,更应该配备高内存。

michael1983 某证券技术经理 :

支持楼上,X86分布式部署即可。尤其注意系统IO性能,可配置SSD。

wuwenpin 软件开发工程师:

大吞吐量、大容量,高带宽。

陈星星 科技公司技术经理:

1、Hadoop现在已经是大数据的事实标准,而 Hadoop的出现就是运行在廉价商用服务器上,以集群之力,分而治之地解决先前传统数据库、传统存储、传统计算模型束手无策的问题,让大规模数据的处理成为了可能。

2、对于硬件没有太高的要求,普通的PC服务器即可,但是为了高更的性能,服务器内可以增加SSD固态硬盘或是内容等资源。

Q5、数据量大,数据类型繁杂的情况下,如何做性能保障?

在数据处理层是关注处理能力,还是要做业层的性能与传统性能一样关注响应的时间吗?

A:

rein07 某证券 系统架构师:

如何保障大数据平台的处理性能,关键还是看应用场景和业务需求,不是每种业务都需要高性能。

1、在类OLTP场景下,大数据平台有像HBase一样的组件,保证数据读写具有极高的性能和吞吐量。

2、在OLAP场景下,大数据平台有像Impala、Kudu、Kylin、Druid这样引擎,通过内存或预计算的方式保证查询性能。

3、在离线分析场景,有像Hive、Spark、Mapreduce这样的引擎,分布式处理海量数据,在这种场景下,性能和响应时间已无法做到保证。

陈星星 科技公司技术经理:

1、大数据的底层全部都是分布式架构,分布式架构具有很强的横向扩展能力,而且是使用廉价的PC服务器即可组件分布式架构,只有增加服务器数据,性能也可以横向扩展。

2、另外大数据平台在数据处理方面也均是采用分布式处理技术(例如 MR、 Hive、 Hbase 、 HDFS)。

3、另外还有一些是基于内存的数据计算和处理架构Spark技术,大数据平台下对性能的要求没有和传统的交互式的响应不太一样,大数据分为实时和离线计算,实时计算要求响应时间,离线计算对于响应时间没有太高的要求。

Q6、大数据中的实时计算SPark和Storm优缺点是什么?分别适合于哪些场景?

A:

rein07 某证券 系统架构师:

SparkStreaming和Strom都属于实时计算框架,有点都是可以做到对数据的实时处理。SparkStreaming是基于Spark Core实现的,所以对数据的处理要形成RDD,暨要形成数据窗口,所以其处理过程可以称之为微批处理,而storm是可以做到实时处理每一条数据的,所以相对来说,实时性比sparkstreaming更高。所以storm更适合处理实时性要求极高的场景。

陈星星 科技公司技术经理:

SPark体系中的 Spark Streaming严格意义上属于批处理计算框架,准实时,基于内存的计算框架,性能可以达到秒级,大数据除了实时计算之外,还包括了离线批处理、交互式查询等业务功能,而且实时计算中,可能还会牵扯到高延迟批处理、交互式查询等功能,就应该首选Spark生态,用Spark Core开发离线批处理,用Spark SQL开发交互式查询,用Spark Streaming开发实时计算,三者可以无缝整合,给系统提供非常高的可扩展性。

Storm是纯实时计算框架,来一条数据,处理一条数据,可以达到毫秒级,适合于要求可靠的事务机制和可靠性机制,即数据的处理完全精准,一条也不能多,一条也不能少,也可以考虑使用Storm。

形象点比喻,SPark就好比商城的直梯,Storm就好比商场的扶梯。

Q7、大数据分析中的实时推荐是如何实现的?

A:

rein07 某证券 系统架构师:

实时推荐需要使用实时处理框架结合推荐算法,从而做到对数据的实时处理和推荐。实时处理框架有Storm、Flink、SparkStreaming,组件可以对接Kafka,获取实时流数据,在实时框架内部实现对数据的处理过程。

陈星星 科技公司技术经理:

1、实时推荐需要借助实时计算框架例如Spark或是Strom技术。

2、数据采集采用Flume+Kafka作为数据缓存和分发作用。

3、同时还需要有非常适合的实时推荐算法,例如基于用户画像的实时推荐,或是基于用户行为的实施推荐、或是对商品相识度的实施推荐等不同的算法。

Q8、数据预处理问题?

钢铁行业的数据比较复杂,对于对生产工艺不是特别了解的IT人员如何进行数据处理,或是应该由谁来进行数据处理?

A:

陈星星 科技公司技术经理:

数据预处理的过程包括数据的清洗、集成、整合、标准化等过程。

1、数据预处理的过程是由承建大数据项目的供应商来处理,或是专门做数据治理的公司来负责这项工作。

2、大数据项目中,数据的预处理会花费大量的时间,而且是手工工作量较多,如果对业务部太数据,势必会有很多问题,最好是由对业务相对了解的人员来参与数据的预处理的工作。

rein07 某证券 系统架构师:

只有高质量的数据才会有分析的价值,所以预处理过程显得尤为重要。数据是业务的数字化形式,对于比较复杂的行业数据,技术人员是不会知道怎么处理才能满足业务分析的需求的,必须要业务分析人员提出具体的数据处理需求,技术人员才能设计满足相应需求。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。