大数据下的数据分析平台架构

合集下载

《大数据服务平台建设方案》

《大数据服务平台建设方案》

《大数据服务平台建设方案》随着互联网和信息技术的发展,大数据技术已经成为企业数据分析和管理的重要工具。

在大数据时代,海量数据的处理和分析已经成为企业提升竞争力的关键。

为了更好地利用大数据技术,企业需要建设一个高效的大数据服务平台。

本文将从需求分析、架构设计、数据采集、存储和处理、安全保障等方面,提出一个完善的大数据服务平台建设方案。

1.需求分析2.架构设计在确定企业需求后,需要设计一个合理的大数据服务平台架构。

其架构应包括数据采集、存储、处理和分析等模块。

数据采集模块用于从各个数据源获取数据,包括结构化数据和非结构化数据。

存储模块用于存储海量数据,应根据数据的使用频率和访问方式选择适当的存储技术。

处理和分析模块用于对数据进行处理和分析,以产生有价值的信息。

3.数据采集4.数据存储和处理数据存储和处理是大数据服务平台中的核心功能。

在进行数据存储和处理时,应根据数据的不同特点选择合适的存储和处理技术。

应考虑海量数据的存储和访问速度,选择适合的分布式存储和处理平台,例如Hadoop、Spark等。

同时,需要考虑数据的安全性和备份策略,确保数据的完整和安全。

5.安全保障在建设大数据服务平台时,要重视数据安全问题。

应加强对数据的访问权限控制,避免数据泄露和滥用。

同时,要加强对数据的加密和脱敏处理,确保数据的隐私性和保密性。

此外,还应加强对系统的监控和异常处理,及时发现和解决潜在的安全问题。

总结:建设一个完善的大数据服务平台,需要从需求分析、架构设计、数据采集、数据存储和处理、安全保障等方面进行全面考虑。

只有全面、合理地规划和设计,才能搭建一个高效、安全的大数据平台,提升企业的数据管理和分析能力,实现企业的数字化转型和智能化发展。

大数据平台架构设计与实现

大数据平台架构设计与实现

大数据平台架构设计与实现随着数据量的爆炸式增长,大数据平台逐渐成为众多企业必不可少的一项重要技术,它能够帮助企业在海量数据中挖掘出更加精准、有用的信息。

然而,一个高效、可靠的大数据平台不仅仅需要拥有大量的数据存储和计算能力,还需要有合理的架构设计和实现方案。

本篇文章着重介绍大数据平台架构设计和实现方案的相关内容。

一、大数据平台的定义在大数据平台的定义中,大数据可以是拥有超过传统数据库管理系统能够存储和处理的能力的数据集合。

可以是结构化数据、半结构化数据或非结构化数据,而大数据平台就是建立在这些大数据之上的数据处理、存储、管理及分析工具的集合。

二、大数据平台的架构设计大数据平台的架构设计是让数据从采集到存储、处理再到分析等各个环节实现自动化流程的过程。

大数据平台的架构设计分为以下三个方面的基础组成:1、数据采集层数据采集层是大数据平台架构的第一步,它负责从各种设备、软件、传感器和各种现场活动中收集数据。

数据采集层应该尽可能地把数据从源头采集,建立在数据生产源的数据采集系统最优。

2、数据存储层数据存储层是大数据平台架构的第二步,它是数据存放的区域。

在数据存储层,数据会被存储在一种或者多种的存储介质中,比如Hadoop的HDFS、Apache的Cassandra、NoSQL、RDBMS等。

对于典型的企业级大数据平台,基于云的数据存储成为了最主流的架构选择。

3、数据处理层数据处理层是大数据平台架构的第三步,它的作用是以批处理、流处理、机器学习等一系列技术手段对数据进行处理和分析。

典型的大数据处理方案,需要基于Hadoop的MapReduce算法和Spark流处理框架。

三、大数据平台的实现方案1、采用异构系统集成采用异构系统集成可以使得数据能在不同的系统和数据源之间进行无缝衔接、便于网络对数据进行管理、分析和智能输出。

比如熟悉的Hadoop、代表Apache的Storm,以及管理方式各异的NoSQL数据库。

大数据云平台基础架构介绍

大数据云平台基础架构介绍
安全可靠趋势
随着数据重要性的不断提高,大数据云平台需要 提供更加安全可靠的数据保护和服务,保障数据 安全和隐私。
智能化趋势
大数据云平台正在不断引入人工智能技术,实现 智能化数据分析、处理和存储,提高数据处理效 率和准确性。
绿色环保趋势
随着能源消耗的不断提高,大数据云平台需要采 取更加绿色环保的技术和措施,降低能源消耗和 碳排放。
06
大数据云平台案例分享
案例一:阿里巴巴的大数据云平台
总结词
分布式、可扩展、弹性
详细描述
阿里巴巴的大数据云平台是基于开源平台构建的分布式系统,具备可扩展和弹性的特点。它采用了分 布式文件系统,如HDFS,用于存储海量数据,并支持多种数据访问模式。同时,该平台还集成了弹 性计算、弹性存储和弹性网络等云基础设施,以提供稳定、高效的大数据处理服务。
提供数据挖掘和机器学习功能,以发现数 据中的潜在规律和价值。
应用层
数据报表与可视化
提供数据报表和可视化功 能,以直观展示数据分析 结果。
数据服务
提供数据服务功能,包括 数据查询、数据挖掘、机 器学习等服务,以支持各 种业务应用。
安全管理
提供安全管理功能,包括 用户认证、访问控制、加 密传输等,以确保大数据 云平台的安全性。
据,为后续数据分析提供准确的基础。
数据转换与整合
03
实现数据的转换和整合,以满足不同业务场景的需求

数据分析层
分布式计算框架
提供分布式计算框架,如Hadoop、 Spark等,以处理大规模数据。
数据库查询与分析
提供数据库查询和分析功能,支持SQL、 NoSQL等数据库查询语言和分析工具。
数据挖掘与机器学习
谢谢您的聆听

大数据平台基本架构

大数据平台基本架构

初识大数据(四. 大数据平台基本架构)
大数据开发,并不仅仅只是一两个组件的简单堆砌,而是需要按照实际的数据量、数据种类以及实际业务的需要进行大量的调优和二次开发,构成一个有机的整体,这样才能保证大数据平台的正常高效的运行。

一.以下是一个大数据平台的基本组成图:
1.硬件环境:
1)X86架构廉价服务器集群:hadoop技术栈是架构在这种服务器上的,所以价格低,横向可扩展性强。

2)GPU服务器集群:如果需要用到机器学习算法,可能使用GPU服务器集群。

2.ETL:对各种类型的数据采集与清洗,跟据不同的数据类型选择不同的组件或者数据采集方法,比如用Python编写采集或清洗数据。

3.数据存储:将采集清洗或处理好的数据存储在大数据存储器中。

4.数据计算:
1)实时计算:对亿条流数据实时进行计算。

比如志管理、消息队列等。

2)离线计算:对海量数据进行计算,特点是:数据量巨大,维度多。

5.数据分析:对处理好的数据进行交互式分析,主要是用SQL语言进行数据的分析。

6.资源管理:对资源进行调度和管理,其中包括:内存、CPU、存储等资源。

7.数据管理:对数据进行安全、质量、权限等的管理以及工作流的管理和元数据治理。

8.运维监控:对hadoop集群、生态圈组件进行运维、管理和监控。

二.大数据开发应具备的基本技能:
1.精通java、python、scala开发
2.精通linux使用
3.精通SQL开发
4.具有开源代码的阅读能力
5.熟悉各种组件的使用。

大数据处理平台与分析方法

大数据处理平台与分析方法

大数据处理平台与分析方法随着信息化时代的发展,大数据处理平台和分析方法在各领域中得到了广泛应用,成为数字化转型和优化的重要工具。

本文将介绍大数据处理平台的基本概念、架构和主要组成部分,以及大数据处理的分析方法和应用案例。

一、大数据处理平台的基本概念大数据处理平台是指一种垂直集成的数据处理系统,它能够实现大规模数据的存储、管理、处理、分析和可视化。

其核心在于高效、可靠、安全地管理数据并提供数据分析和洞察服务,以支持企业或机构做出更好的决策和创新发展。

大数据处理平台的主要功能包括:数据采集、数据存储、数据处理、数据分析和数据应用。

数据采集是指通过传感器、设备、应用程序和其他系统采集数据,并利用分布式文件系统、分布式数据库和存储技术等方法对数据进行存储和管理。

数据处理是指通过采用流式计算、批量计算等方式对大数据进行加工和处理,以提高数据质量和信息价值。

数据分析是指运用模型和算法对大数据进行分析和挖掘,以获取有用的信息和结论。

数据应用是指将数据分析的结果和结论应用到实际决策、产品开发、服务创新等领域中,以提高企业或机构的竞争力和发展潜力。

大数据处理平台的特点有三个方面:数据规模大、数据种类多、数据结构复杂。

它可以支持PB级别的数据存储和管理,包括结构化、半结构化和非结构化数据,如文本、图像、视频、音频等形式。

由于数据量大、种类多,数据处理和分析往往需要并行计算、分布式存储和集群管理等技术。

二、大数据处理平台的架构和组成部分大数据处理平台的架构包括数据采集层、数据存储层、数据计算层和数据开发层。

其中,数据采集层主要负责数据的获取和传输,包括数据源、数据管道和数据接收器等组件。

数据存储层主要负责数据的存储和管理,包括分布式文件系统、分布式数据库和大数据仓库等方案。

数据计算层主要负责数据的加工和处理,包括流计算、批计算和机器学习等技术。

数据开发层主要负责数据的开发和管理,包括数据建模、数据清洗和数据可视化等技术。

大数据平台与架构设计方案

大数据平台与架构设计方案

大数据平台与架构设计方案目录一、引言 (2)二、大数据平台与架构设计 (3)三、全球大数据产业发展现状 (5)四、中国大数据产业发展状况 (7)五、大数据人才短缺与培养挑战 (10)六、大数据行业发展趋势预测 (12)一、引言随着互联网的不断发展和数字化时代的加速推进,大数据技术已逐渐渗透到各行各业中,并对经济和社会发展产生重要影响。

在大数据技术蓬勃发展的也面临着技术创新的挑战以及应用中的多重困境。

近年来,中国大数据产业规模不断扩大。

随着信息化建设的深入推进和数字化转型步伐的加快,国内大数据市场呈现快速增长态势。

大数据产业涉及硬件基础设施、软件服务、数据处理等多个领域,整体产业链日趋完善。

数据泄露可能导致个人隐私曝光、企业资产损失、客户流失等严重后果。

对于个人而言,数据泄露可能导致其身份信息、财产信息等被非法利用。

对于企业而言,数据泄露可能导致商业机密泄露、客户信任危机,甚至可能面临法律制裁。

数据采集是大数据处理的第一步。

为了实现高效的数据采集,需要采用各种数据抓取、数据接口等技术手段,从各种来源收集数据。

还需要考虑数据的实时性和准确性。

对象存储技术是一种基于对象的存储架构,它将数据作为对象进行存储和管理。

对象存储系统采用分布式存储方式,具有可扩展性强、数据一致性高等优点,特别适用于非结构化数据的存储。

声明:本文内容来源于公开渠道或根据行业大模型生成,对文中内容的准确性不作任何保证。

本文内容仅供参考,不构成相关领域的建议和依据。

二、大数据平台与架构设计(一)大数据平台概述大数据平台是指基于大数据技术,集数据存储、处理、分析和应用为一体的综合性平台。

它以高效、稳定、安全、灵活的方式处理海量数据,为用户提供数据驱动的业务决策和支持。

大数据平台的特点主要体现在以下几个方面:1、数据量大:能够处理海量数据,满足各种规模的数据处理需求。

2、数据类型多样:支持结构化、非结构化等多种数据类型。

3、处理速度快:采用高性能的数据处理技术和架构,提高数据处理速度。

大数据平台的架构设计与部署

大数据平台的架构设计与部署

大数据平台的架构设计与部署随着互联网和移动互联网的普及,大数据时代已经来临。

大数据平台成为企业和政府机构日常工作中不可或缺的一部分,它可以帮助企业和机构提高工作效率、优化流程、降低成本和风险等。

然而,要实现一个高效稳定的大数据平台,需要经过严密的架构设计和精心的部署。

一、大数据平台架构设计大数据平台的架构设计主要包括硬件架构、软件架构和网络架构。

其中,硬件架构包括服务器和存储设备的选择;软件架构涉及到大数据处理框架的选择和配置;网络架构包括网络拓扑和传输协议的选择。

下面分别介绍一下这些内容。

1、硬件架构:在选择服务器和存储设备时,需要考虑数据量大小、数据处理速度、数据安全和稳定性等因素。

通常情况下,服务器可以选择高主频、高核数的CPU和大内存、高速度的硬盘;存储设备可选择高速度、高稳定性的硬盘和SSD。

此外,为了提高系统的可靠性和扩展性,可以采用分布式存储方案,将数据分散存储在多个存储设备中。

2、软件架构:在软件架构的选择上,需要根据数据处理需求选择适合的大数据处理框架。

例如,实时流数据处理可以采用Apache Storm;批处理数据可以使用Apache Hadoop。

此外,为了提高数据处理速度,可以采用Spark、Impala和Hive等内存计算框架。

3、网络架构:在网络架构的设计上,需要考虑网络拓扑的选择和传输协议的配置。

可以采用星型、环形、总线型、树型和混合型等多种拓扑方式。

在传输协议的选择上,可以选择TCP/IP、HTTP、REST、SOAP等协议,还可以采用专用的数据传输协议,例如HDFS、MapReduce、YARN和HBase等。

二、大数据平台部署在设计完大数据平台的架构之后,需要进行部署。

大数据平台的部署分为服务器物理部署和软件部署两个阶段。

下面对这两个阶段进行详细介绍。

1、服务器物理部署:服务器物理部署包括服务器机箱的安装、电源线和网络线的连接、服务器机箱的风扇、电源和硬盘等部件的安装等。

大数据平台架构及建设思路

大数据平台架构及建设思路

1
MPP数据库:适合结构化数据的深度分析、复杂查询以及多变的自助分析类应用、数据集市等。 Hadoop :适合海量数据存储查询(详单存储和查询)、批量数据ETL、非结构化数据分析(日志分析、文本分析)等。 传统数据库:在复杂关联、汇总、事务处理方面能力强,适合数据量小、高可靠、数据价值密度高的应用。
改善市场运营效率
提升网络运维效率
改善客户满意度
创新商业模式
数据采集
建模分析
运营改进
传统商业智能
大数据1
大数据2
批处理,事先定义的查询和模型
非结构化的数据,包括互联网日志、web文本信息,非实时或准实时
流处理,实时的内容智能感知,策略执行,连续更新
价值
采集、建模和应用
数据处理实时性与价值呈正比
中国移动数据分布
建设重点4——HADOOP集群对局址的选择2/2
2、HADOOP集群互联延迟需求: 为保证数据节点间数据同步,HADOOP集群内节点间延迟要求小于1毫秒(业界公认指标),若延迟大于1毫秒,会出现数据同步出错情形。
交互耗时分类
单位耗时(us)
数量
耗时小计(us)
跨纬五路-淮南IDC机房总耗时(us)
NameNode
机房1
机房2
机房间的带宽量将限制多节点间的传输带宽,如以机房间电路10G、300节点计算,节点间带宽为:10*1024/300 ≈34Mbps




结论: 1、HADOOP集群采用单局点部署,可保证集群正常工作,通信效率高。 2、HADOOP集群采用多局点部署,为减少通信延迟,必须保证集群节点间传输带宽,按本期集群228个节点测算,需要互联链路300G(有保护链路),传输需要投资约1000万元。 综合考虑,建议大数据平台采用单局点部署。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大数据下的数据分析平台架构随着互联网、移动互联网和物联网的发展,谁也无法否认,我们已经切实地迎来了一个海量数据的时代,数据调查公司IDC预计2011年的数据总量将达到1.8万亿GB,对这些海量数据的分析已经成为一个非常重要且紧迫的需求。

作为一家互联网数据分析公司,我们在海量数据的分析领域那真是被“逼上梁山”。

多年来在严苛的业务需求和数据压力下,我们几乎尝试了所有可能的大数据分析方法,最终落地于Hadoop平台之上。

Hadoop在可伸缩性、健壮性、计算性能和成本上具有无可替代的优势,事实上已成为当前互联网企业主流的大数据分析平台。

本文主要介绍一种基于Hadoop平台的多维分析和数据挖掘平台架构。

大数据分析的分类Hadoop平台对业务的针对性较强,为了让你明确它是否符合你的业务,现粗略地从几个角度将大数据分析的业务需求分类,针对不同的具体需求,应采用不同的数据分析架构。

∙按照数据分析的实时性,分为实时数据分析和离线数据分析两种。

实时数据分析一般用于金融、移动和互联网B2C等产品,往往要求在数秒内返回上亿行数据的分析,从而达到不影响用户体验的目的。

要满足这样的需求,可以采用精心设计的传统关系型数据库组成并行处理集群,或者采用一些内存计算平台,或者采用HDD的架构,这些无疑都需要比较高的软硬件成本。

目前比较新的海量数据实时分析工具有EMC的Greenplum、SAP的HANA等。

对于大多数反馈时间要求不是那么严苛的应用,比如离线统计分析、机器学习、搜索引擎的反向索引计算、推荐引擎的计算等,应采用离线分析的方式,通过数据采集工具将日志数据导入专用的分析平台。

但面对海量数据,传统的ETL工具往往彻底失效,主要原因是数据格式转换的开销太大,在性能上无法满足海量数据的采集需求。

互联网企业的海量数据采集工具,有Facebook开源的Scribe、LinkedIn开源的Kafka、淘宝开源的Timetunnel、Hadoop的Chukwa等,均可以满足每秒数百MB的日志数据采集和传输需求,并将这些数据上载到Hadoop中央系统上。

∙按照大数据的数据量,分为内存级别、BI级别、海量级别三种。

这里的内存级别指的是数据量不超过集群的内存最大值。

不要小看今天内存的容量,Facebook缓存在内存的Memcached中的数据高达320TB,而目前的PC服务器,内存也可以超过百GB。

因此可以采用一些内存数据库,将热点数据常驻内存之中,从而取得非常快速的分析能力,非常适合实时分析业务。

图1是一种实际可行的MongoDB分析架构。

图1 用于实时分析的MongoDB架构MongoDB大集群目前存在一些稳定性问题,会发生周期性的写堵塞和主从同步失效,但仍不失为一种潜力十足的可以用于高速数据分析的NoSQL。

此外,目前大多数服务厂商都已经推出了带4GB以上SSD的解决方案,利用内存+SSD,也可以轻易达到内存分析的性能。

随着SSD的发展,内存数据分析必然能得到更加广泛的应用。

BI级别指的是那些对于内存来说太大的数据量,但一般可以将其放入传统的BI产品和专门设计的BI数据库之中进行分析。

目前主流的BI产品都有支持TB级以上的数据分析方案。

种类繁多,就不具体列举了。

海量级别指的是对于数据库和BI产品已经完全失效或者成本过高的数据量。

海量数据级别的优秀企业级产品也有很多,但基于软硬件的成本原因,目前大多数互联网企业采用Hadoop的HDFS分布式文件系统来存储数据,并使用MapReduce进行分析。

本文稍后将主要介绍Hadoop上基于MapReduce的一个多维数据分析平台。

数据分析的算法复杂度根据不同的业务需求,数据分析的算法也差异巨大,而数据分析的算法复杂度和架构是紧密关联的。

举个例子,Redis是一个性能非常高的内存Key-Value NoSQL,它支持List 和Set、SortedSet等简单集合,如果你的数据分析需求简单地通过排序,链表就可以解决,同时总的数据量不大于内存(准确地说是内存加上虚拟内存再除以2),那么无疑使用Redis 会达到非常惊人的分析性能。

还有很多易并行问题(Embarrassingly Parallel),计算可以分解成完全独立的部分,或者很简单地就能改造出分布式算法,比如大规模脸部识别、图形渲染等,这样的问题自然是使用并行处理集群比较适合。

而大多数统计分析,机器学习问题可以用MapReduce算法改写。

MapReduce目前最擅长的计算领域有流量统计、推荐引擎、趋势分析、用户行为分析、数据挖掘分类器、分布式索引等。

图2 RCFile的行列混合存面对大数据OLAP分析的一些问题OLAP分析需要进行大量的数据分组和表间关联,而这些显然不是NoSQL和传统数据库的强项,往往必须使用特定的针对BI优化的数据库。

比如绝大多数针对BI优化的数据库采用了列存储或混合存储、压缩、延迟加载、对存储数据块的预统计、分片索引等技术。

Hadoop平台上的OLAP分析,同样存在这个问题,Facebook针对Hive开发的RCFile 数据格式,就是采用了上述的一些优化技术,从而达到了较好的数据分析性能。

如图2所示。

然而,对于Hadoop平台来说,单单通过使用Hive模仿出SQL,对于数据分析来说远远不够,首先Hive虽然将HiveQL翻译MapReduce的时候进行了优化,但依然效率低下。

多维分析时依然要做事实表和维度表的关联,维度一多性能必然大幅下降。

其次,RCFile 的行列混合存储模式,事实上限制死了数据格式,也就是说数据格式是针对特定分析预先设计好的,一旦分析的业务模型有所改动,海量数据转换格式的代价是极其巨大的。

最后,HiveQL对OLAP业务分析人员依然是非常不友善的,维度和度量才是直接针对业务人员的分析语言。

而且目前OLAP存在的最大问题是:业务灵活多变,必然导致业务模型随之经常发生变化,而业务维度和度量一旦发生变化,技术人员需要把整个Cube(多维立方体)重新定义并重新生成,业务人员只能在此Cube上进行多维分析,这样就限制了业务人员快速改变问题分析的角度,从而使所谓的BI系统成为死板的日常报表系统。

使用Hadoop进行多维分析,首先能解决上述维度难以改变的问题,利用Hadoop中数据非结构化的特征,采集来的数据本身就是包含大量冗余信息的。

同时也可以将大量冗余的维度信息整合到事实表中,这样可以在冗余维度下灵活地改变问题分析的角度。

其次利用Hadoop MapReduce强大的并行化处理能力,无论OLAP分析中的维度增加多少,开销并不显著增长。

换言之,Hadoop可以支持一个巨大无比的Cube,包含了无数你想到或者想不到的维度,而且每次多维分析,都可以支持成千上百个维度,并不会显著影响分析的性能。

图3 MDX→MapReduce简略示意图因此,我们的大数据分析架构在这个巨大Cube的支持下,直接把维度和度量的生成交给业务人员,由业务人员自己定义好维度和度量之后,将业务的维度和度量直接翻译成MapReduce运行,并最终生成报表。

可以简单理解为用户快速自定义的“MDX”(多维表达式,或者多维立方体查询)语言→MapReduce的转换工具。

同时OLAP分析和报表结果的展示,依然兼容传统的BI和报表产品。

如图3所示。

图3可以看出,在年收入上,用户可以自己定义子维度。

另外,用户也可以在列上自定义维度,比如将性别和学历合并为一个维度。

由于Hadoop数据的非结构化特征,维度可以根据业务需求任意地划分和重组。

图4 Hadoop多维分析平台架构图一种Hadoop多维分析平台的架构整个架构由四大部分组成:数据采集模块、数据冗余模块、维度定义模块、并行分析模块。

如图4所示。

数据采集模块采用了Cloudera的Flume,将海量的小日志文件进行高速传输和合并,并能够确保数据的传输安全性。

单个collector宕机之后,数据也不会丢失,并能将agent 数据自动转移到其他的colllecter处理,不会影响整个采集系统的运行。

如图5所示。

数据冗余模块不是必须的,但如果日志数据中没有足够的维度信息,或者需要比较频繁地增加维度,则需要定义数据冗余模块。

通过冗余维度定义器定义需要冗余的维度信息和来源(数据库、文件、内存等),并指定扩展方式,将信息写入数据日志中。

在海量数据下,数据冗余模块往往成为整个系统的瓶颈,建议使用一些比较快的内存NoSQL来冗余原始数据,并采用尽可能多的节点进行并行冗余;或者也完全可以在Hadoop中执行批量Map,进行数据格式的转化。

图5 采集模块图6 核心模块的逻辑图7 MapReduce WorkFlow例子维度定义模块是面向业务用户的前端模块,用户通过可视化的定义器从数据日志中定义维度和度量,并能自动生成一种多维分析语言,同时可以使用可视化的分析器通过GUI执行刚刚定义好的多维分析命令。

并行分析模块接受用户提交的多维分析命令,并将通过核心模块将该命令解析为Map-Reduce,提交给Hadoop集群之后,生成报表供报表中心展示。

核心模块是将多维分析语言转化为MapReduce的解析器,读取用户定义的维度和度量,将用户的多维分析命令翻译成MapReduce程序。

核心模块的具体逻辑如图6所示。

图6中根据JobConf参数进行Map和Reduce类的拼装并不复杂,难点是很多实际问题很难通过一个MapReduce Job解决,必须通过多个MapReduce Job组成工作流(WorkFlow),这里是最需要根据业务进行定制的部分。

图7是一个简单的MapReduce工作流的例子。

MapReduce的输出一般是统计分析的结果,数据量相较于输入的海量数据会小很多,这样就可以导入传统的数据报表产品中进行展现。

结束语当然,这样的多维分析架构也不是没有缺点。

由于MapReduce本身就是以蛮力去扫描大部分数据进行计算,因此无法像传统BI产品一样对条件查询做优化,也没有缓存的概念。

往往很多很小的查询需要“兴师动众”。

尽管如此,开源的Hadoop还是解决了很多人在大数据下的分析问题,真可谓是“功德无量”。

Hadoop集群软硬件的花费极低,每GB存储和计算的成本是其他企业级产品的百分之一甚至千分之一,性能却非常出色。

我们可以轻松地进行千亿乃至万亿数据级别的多维统计分析和机器学习。

6月29日的Hadoop Summit 2011上,Yahoo!剥离出一家专门负责Hadoop开发和运维的公司Hortonworks。

Cloudera带来了大量的辅助工具,MapR带来了号称三倍于Hadoop MapReduce速度的并行计算平台。

Hadoop必将很快迎来下一代产品,届时其必然拥有更强大的分析能力和更便捷的使用方式,从而真正轻松面对未来海量数据的挑战。

相关文档
最新文档