大数据处理 大数据分析
一、什么是大数据处理的主要方式
1.大数据处理之一:采集
大数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。比如,电商会使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。
在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户来进行访问和操作,比如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑。并且如何在这些数据库之间进行负载均衡和分片的确是需要深入的思考和设计。
2.大数据处理之二:导入/预处理
虽然采集端本身会有很多数据库,但是如果要对这些海量数据进行有效的分析,还是应该将这些来自前端的数据导入到一个集中的大型分布式数据库,或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理工作。也有一些用户会在导入时使用来自Twitter的Storm来对数据进行流式计算,来满足部分业务的实时计算需求。
导入与预处理过程的特点和挑战主要是导入的数据量大,每秒钟的导入量经常会达到百兆,甚至千兆级别。
3.大数据处理之三:统计/分析
统计与分析主要利用分布式数据库,或者分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总等,以满足大多数常见的分析需求,在这方面,一些实时性需求会用到EMC的GreenPlum、Oracle的Exadata,以及基于MySQL的列式存储Infobright等,而一些批处理,或者基于半结构化数据的需求可以使用Hadoop。
统计与分析这部分的主要特点和挑战是分析涉及的数据量大,其对系统资源,特别是I/O会有极大的占用。
4.大数据处理之四:挖掘
与前面统计和分析过程不同的是,数据挖掘一般没有什么预先设定好的主题,主要是在现有数据上面进行基于各种算法的计算,从而起到预测(Predict)的效果,从而实现一些高级别数据分析的需求。比较典型算法有用于聚类的Kmeans、用于统计学习的SVM和用于分类的NaiveBayes,主要使用的工具有Hadoop的Mahout等。该过程的特点和挑战主要是用于挖掘的算法很复杂,并且计算涉及的数据量和计算量都很大,常用数据挖掘算法都以单线程为主。
二、高德地图大数据处理流程
1高德地图的大数据处理流程相对复杂。2高德地图需要处理的大数据包括地图数据、道路拓扑关系数据、交通流量数据、实时位置数据等等,其中需要进行数据清洗、数据分析、数据建模、数据可视化等多个环节,因此处理流程会比较复杂。3在具体实践中,高德地图的大数据处理流程可以分为数据采集、数据清洗、数据建模、数据分析和数据可视化等多个环节,每个环节都有相应的技术和工具支持,整个过程需要多个专业领域的人员协同完成。
三、如何学习大数据处理
大数据的学习,最难的就是入门,如果传智播客给到学生建议的话,就是好好学习sql,要能熟练使用,并且多学习大数据处理的相关思想;下面给有需要的小伙伴罗列一个2019年全套的大数据学习路线图:
大数据处理相关技术,所需要掌握的是Java语言和Linux操作系统。这两个是基础,学习顺序的话不分先后。技术方面最快的学习路径就是直接学习相关的主流框架。很多人提到框架的话,就会觉得很难。其实我们只要是知道相关框架的调用方法,就会轻松很多。
Hadoop:
在接触hadoop之前,大家需要有一定的Java基础。为此给自学的小伙伴提出的建议是首先学习Linux,然后学习adoop的生态系统。在学习Hadoop的第一个阶段就是可以熟练的搭建伪分布式集群以及完全分布式集群。也就是先让hadoop的环境搭建起来,能正常运行wordcount程序,我们才可以接下来的分析hadoop生态系统。
Zookeeper:
可以称之为万金油,安装Hadoop的HA的时候会用到它。之后学到Hbase的话也会用到。一般就是相互协作的信息。
Mysql:
我们学习完大数据的处理,下面就是要学习小数据的处理工具mysql数据库。因为装hive的时候会用到。那么mysql需要掌握什么呢,就是我们可以Linux上把它装好,运行起来。要学会配置简单的增删改查,修改root的密码,创建数据库。主要是学习语法。
接下来的知识点我就不一一罗列了,我们在每个阶段学习结束后,都要清楚的知道自己有没有什么缺乏。那么可以按照下图来检验自己的知识点是否掌握清晰: