大数据整体分析

大数据整体解析

大数据(BigData),毫无疑问大数据是对大量处理用的,它包括数据的存储(HDFS)和计算功能(MapReduse),由yarn进行cpu的调度。

大数据天生就是自带分布式的,对大量的数据的处理,需要分布式的数据存储,数据量过大 需要分布式的计算,还需要集群模式的数据的收集(flum),还有实时的计算和离线的计算等。

大数据的特点:4V Volum大量 Velocity高速 Variety多样 Value低价值密度

大数据和javaweb的发展方向分析:
javaweb
1、主要做web交互方便的工作,java为后台,对接pc端页面,或者ios,安卓的手机app。
2、由数据量的增长,慢慢的重单个springBoot项目发展为springClould集群项目,采用分布式+集群的方式进行扩展。数据库采用分库分表,redis采用集群等分布式架构来解决。
3、对应技术选型,nginx,springBoot,SpringClould,mysql,redis,MQ等。当数据量大的时候可以对接集群来处理。
架构图:
在这里插入图片描述
大数据
1、初步思想就是采用分布式的来解决问题,通常和javaweb打交道。一般重javaweb那拿到数据然后进行处理解析,最后返回给web处理。
2、数据量会很大,一开始就是javaweb的终极模式来处理,分布式存储计算。扩展集群。
3、对应技术选型,hadoop,kafaka,flum,spark,sqoop等。
架构图:每个都是分布式+集群
在这里插入图片描述在这里插入图片描述
比较:
个人觉得在这里插入图片描述,javaweb的终极方向是架构师,能自己选型技术,达到完成需求的目的。最终需要的思想是分布式的思想处理,这个和大数据的思想完全相符合。java转型大数据并不一定是转行,也许是另外一种的技术选择方案。java和大数据应该是一个整体,javaweb用来数据的处理,采用大数据分布式的思想,完成更好的高可用。然后大数据去分析,给需求提供更好的保证。

大数据可做的工种
在这里插入图片描述
下面带大家来看下,大数据的整体架构模式,给大家一个整体的理解。
在这里插入图片描述
大数据所用技术的分析

数据库:mysql,oracle主要存储结构化数据,一般数据处理好好之后, 是给javaweb用的,由大数据程序存储进去数据,然后由web处理展示。也可做数据的来源,将数据库中的数据放到分布式数据库或者HDFS中去。

文件日志:一般的数据来源,由大数据程序读取日志数据进行数据分析。

Sqoop:是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

Flume:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:

扫描二维码关注公众号,回复: 5619528 查看本文章

(1)通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

(2)高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。

(3)支持通过Kafka服务器和消费机集群来分区消息。

(4)支持Hadoop并行数据加载。

Storm:Storm用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。

Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。

Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

R语言:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

Mahout:Apache Mahout是个可扩展的机器学习和数据挖掘库。

ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

具体得推荐系统架构:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/fanyongyao/article/details/88586658