课件-模块3 大数据_第1页
课件-模块3 大数据_第2页
课件-模块3 大数据_第3页
课件-模块3 大数据_第4页
课件-模块3 大数据_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

01新一代信息技术导论模块3大数据高速发展的信息时代,新一轮科技革命和变革正在加速推进,技术创新日益成为重塑经济发展模式和促进经济增长的重要驱动力量,而“大数据”无疑是核心推动力。本模块包含大数据基本知识、大数据应用领域、大数据核心技术等内容。目录CONTENTS3.1认知大数据3.2理解大数据系统架构3.3使用大数据工具3.4了解大数据分析算法3.5使用大数据可视化工具3.6了解大数据安全与风险3.1认知大数据013.1.1大数据的基本概念对于“大数据”,研究机构Gartner给出了这样的定义:大数据指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。第一层面:理论。理论是认知的必经途径,也是被广泛认同和传播的基线,应从大数据的特征定义理解行业对大数据的整体描绘和定性;从对大数据价值的探讨来深入解析大数据的珍贵所在;洞悉大数据的发展趋势;从大数据隐私这个特别而重要的视角审视人和数据之间的长久博弈。

第二层面:技术。技术是大数据价值体现的手段和前进的基石,应分别从云计算、分布式处理技术、存储技术和感知技术的发展来说明大数据从采集、处理、存储到形成结果的整个过程。

第三层面:实践。实践是大数据的最终价值体现,应分别从互联网的大数据,政府的大数据,企业的大数据和个人的大数据四个方面来描绘大数据已经展现的美好景象及即将实现的蓝图。三个层面理解:3.1.2大数据的结构类型

1.结构化数据

结构化数据就是数据库,也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。结构化最常见的就是具有模式的数据,结构化就是模式。大多数技术应用基于结构化数据。2.半结构化数据半结构化数据和普通纯文本相比具有一定的结构性,但和具有严格理论模型的关系数据库的数据相比更灵活。它是一种适于数据库集成的数据模型,适合描述包含在两个或多个数据库中的数据。半结构化数据携带了关于其模式的信息,并且这样的模式可以在单一数据库内任意改变。

3.非结构化数据非结构化数据是与结构化数据相对的,不适合用数据库二维表来表现,包括所有格式的办公文档、XML、HTML、各类报表、图片和音频、视频信息等。支持非结构化数据的数据库采用多值字段、变长字段机制进行数据项的创建与管理,广泛应用于全文检索和各种多媒体信息处理领域。据IDC的一项调查报告中指出:企业中80%的数据都是非结构化数据,这些数据每年都按指数增长60%。此类技术所涉及的范围较广,在情感分类、客户语音挖掘、法律文书分析等许多领域都有广泛的应用价值。3.1.3大数据的核心特征

大数据主要具有以下4个方面的典型特征,即大量(Volume)、多样(Variety)、高速(Velocity)和价值(Value),即所谓的4V。3.1.4大数据的应用场景和发展趋势

1.大数据的应用大数据目前已经存在我们生活中的各种角落,例如,我们现在目前最关心的疫情情况数据,用的就是大数据技术,可以实时查看确诊人数以及各种疫情数据。大数据的用途相当广泛,各行各业都可以运用到大数据的知识,具体可分为以下四类:用途一:业务流程优化用途二:提高医疗和研发用途三:改善我们的城市用途四:理解客户、满足客户服务需求

2.大数据发展趋势大数据未来的发展趋势有以下几点:趋势一:数据的资源化趋势二:与云计算的深度结合趋势三:科学理论的突破趋势四:数据科学的发展趋势五:数据安全升级趋势六:数据管理已成为核心竞争力趋势七:数据质量是BI(商业智能)成功的关键趋势八:数据生态系统复合化程度加强3.2理解大数据系统架构01

大数据系统架构

大数据技术是一系列技术的总称,它是集合了数据采集与传输、数据存储、数据处理与分析、数据挖掘、数据可视化等技术,是一个庞大而复杂的技术体系。根据大数据从来源到应用,实现传输的流程,可以将大数据技术架构分为数据采集层、数据存储层、数据接口层、数据应用层。3.2.1大数据的采集

3.2.2大数据的存储当大量的数据被收集完以后,需要对其进行存储。数据的存储分为持久化存储和非持久化存储。持久化存储表示把数据存储在磁盘中,关机或断电后,数据依然不会丢失。非持久化存储表示把数据存储在内存中,读写速度快,但是关机或断电后,数据丢失。常见的持久化存储是分布式文件系统HDFS,而支持非持久化的系统,包括Redis、BerkeleyDB和Memcached为前述的存储数据库提供了缓存机制,可以大幅地提升系统的响应速度,降低持久化存储的压力。3.2.3大数据的处理当数据被收集、存储、正常读写、备份后,还需要考虑到利用它们产生更大的价值,那么首先需要对这些数据进行处理。大数据处理分为批量处理(离线处理)和实时处理(在线处理)两类。在线处理就是指对实时响应要求非常高的处理,如数据库的一次查询。而离线处理就是对实时响应没有要求的处理,如批量地压缩文档。Hadoop的MapReduce计算是一种非常适合的离线批处理框架。3.2.4大数据的治理与建模数据收集、数据存储和数据处理是大数据架构的基础设置。但是大数据时代,数据类型多样,单位价值稀疏,要求对数据进行治理和融合建模。通过利用R语言、Python等对数据进行ETL预处理,然后再根据算法模型、业务模型进行融合建模,从而更好地为业务应用提供优质底层数据。3.2.5大数据应用数据应用层是大数据技术和应用的目标。通常包括信息检索、关联分析等功能。Lucene、Solr和Elasticsearch这样的开源项目为信息检索的实现提供了可能。3.3使用大数据工具013.3.1认知大数据工具

1.大数据存储和管理工具(1)Cloudera(2)MongoDB(3)Talend2.大数据清理工具(1)OpenRefine(2)DataCleaner(3)MicrosoftExcel3.大数据挖掘工具(1)RapidMiner(2)IBMSPSSModeler(3)Teradata4.大数据可视化工具(1)Tableau(2)Silk(3)Chartio3.3.2搭建大数据环境本教程以单机模式进行Hadoop的安装,下图是大数据环境搭建的流程。个人搭建Hadoop环境,需要准备一台计算机,建议配置如下:64位Windows操作系统处理器:四核2GHz及以上系统内存:8GB或更高磁盘空间:100GB的剩余空间良好的网络环境本书采用的软件安装包如下:虚拟机版本:VMwareWorkstation14.1.2build-8497320Ubuntu安装镜像文件:ubuntu-16.04.4-desktop-amd64.isoXshell6.0及Xftp6.0JDK安装包:jdk-8u171-linux-x64.tar.gzHadoop安装包:hadoop-2.7.3.tar.gz3.3.2搭建大数据环境

1.安装虚拟机下载VMware安装包安装VMware新建虚拟机2.安装Ubuntu操作系统下载UbuntuISO镜像文件打开VMwareWorkstationPro软件,单击虚拟机,进行编辑虚拟机设置,设置CD/DVD(SATA),选择使用ISO映像文件的位置,点击“开启虚拟机”,根据提示完成安装。3.关闭防火墙在操作过程中,如果不关闭Ubuntu操作系统的防火墙,可能会出现无法正常访问HadoopHDFS的Web管理页面、导致后台某些运行脚本(例如Hive程序)出现假死状态、在删除和增加节点的时候,会让数据迁移处理时间更长,甚至不能正常完成相关操作。关闭防火墙命令如下:$sudoufwdisableFirewallstoppedanddisabledonsystemstartup查看防火墙状态:$sudoufwstatusStaus:inactive状态为inavtive,说明防火墙已经关闭。这里注意$和#的区别,当开头为$,表示当前用户为普通用户,直接在终端命令行直接输入即可,若为#,则需要切换到root用户下。3.3.2搭建大数据环境

4.SSH安装SSH是SccureShell的缩号、它是一种建立在应用层基础上的安全协议。SHH是目前比较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露。SSH由客户端(openssh-client)软件和服务端(openssh-server)软件组成。在安装SSH服务时,需要Ubuntu操作系统连接互联网。安装SSH客户端软件Ubuntu操作系统默认安装有SSH客户端软件,可通过以下命令查看是否已安装,如果返回包含“openssh-client”的字样,说明已经安装SSH客户端软件。$sudodpkg-1lgrepssh否则,用以下命令安装$sudoapt-getinstallopenssh-client安装SSH服务端软件Ubuntu操作系统默认没有安装SSH服务端软件,安装命令如下:$sudoapt-getinsta11openssh-server重启SSH服务,命令如下:$sudo/etc/init.d/sshrestart3.3.2搭建大数据环境5.安装Xshell及Xftp使用Xshell可以通过SSH协议远程连接Linux主机,使用Xfp可安全地在UNIX/Linux和Windows之间传输文件。可打开NetSarang官网下载最新的Xshell及Xftp免费版本,本教程采用的是Xshell6.0及Xtip6.0免费版本。安装Xshell和Xftp较简单,只需要双击安装文件默认安装即可。安装完Xshell及Xftp后,打开Xshell,选中左侧所有会话,单击鼠标右键,选择新建会话。在连接中,设置名称及主机。其中,主机是上面安装的Ubuntu操作系统的IP地址。如果要查看Ubuntu操作系统的IP地址,可采用如下命令:$ifconfig例如,显示如下结果,表示Ubuntu操作系统的IP地址是“28”。目前的IP地址是自动获取的,建议将IP地址设置为固定的。ens160Linkencap:EthernetHWaddr00:0c:29:bf:el:dfInetaddr:28Bcast:55Mask:最后在Xshell会话设置中,设置Ubuntu操作系统的登录用户名和密码,单击“连接”按钮即可开始连接前面安装好的Ubuntu操作系统。6.安装JDKHadoop是基于Java语言开发的,运行Hadoop需要安装JDK。下载安装包并上传到Linux系统JDK安装包需要Oracle官网下载。这里采用的JDK安裝包为jdk-8u171-linux-x64.tar.gz。将安装包下载至Windows本地目录下,例如,D:\soft。在Xshell软件中打开Xftp。在弹出的Xftp窗口中,把JDK的安装包上传到Ubuntu系统~目录下。3.3.2搭建大数据环境7.下载Hadoop并解压下载Hadoop安装包解压安装包创建软链接设置环境变量8.Hadoop的安装Hadoop单机模式没有HDFS,只能测试MapReduce程序。MapReduce处理的是本地Linux的文件数据。(1)安装前准备首先进行安装前的准备工作,参照本节1至7部分。(2)设置Hadoop配置文件进人Hadoop配置文件所在目录,修改hadoop-env.sh文件。$cd~/hadoop/etc/hadoop$vihadoop-env.sh找到exportJAVA_HOME一行,把行首的#去掉,并按实际修改JAVA_HOME的值。#Thejavaimplementationtouse.exportJAVA_HOME=/home/hadoop/jdk注意:JAVAHOME=/home/hadoopl/jdk,其中的hadoop为用户名,注意要按实际修改。(3)测试Hadoop在单机模式下测试MapReduce程序。3.3.3操作大数据工具

以RapidMiner为例介绍其使用方法。建模的一般流程如下:新建一个库(Repository)导入数据选择需要的算子(operator)放入主流程(mainprocess)中设置算子相关参数(parameter)进行算子连接执行流程以得到结果

3.4了解大数据分析算法013.4.1了解大数据计算模式

1.批处理计算批处理计算是最常见的一类数据处理方式,主要用于对大规模数据进行批量的处理,其代表产品有MapReduce和Spark等。2.流式计算流式数据是随时间分布和数量上无限的一系列动态数据集合体,数据价值随时间流逝而降低,必须采用实时计算方式给出响应。目前市面上已出现很多流式计算框架和平台,如开源的Storm、S4、SparkStreaming,商用的Streams、StreamBase等。3.交互式查询计算主要用于对超大规模数据的存储管理和查询分析,提供实时或准实时的响应。如谷歌公司的系统存有PB级数据,为了对其数据进行快速查询,谷歌开发了Dremel实时查询系统,用于对只读嵌套数据的分析,能在几秒内完成对万亿张表的聚合查询。此外,类似产品还有Cassandra、Hive等。4.图计算图计算是以“图论”为基础的对现实世界的一种“图”结构的抽象表达,以及在这种上的计算模式。常见的图计算产品有Pregel、GraphX、Giraph以及PowerGraph等。大数据计算模式解决问题代表产品批处理计算针对大规模数据的批量处理MapReduce、Spark等流式计算针对流数据的实时计算Storm、S4、SparkStreaming、Streams、StreamBase、Puma、DStream银河流数据处理平台等交互式查询计算针对大规模数据的存储管理与查询分析Dremel、Cassandra、Hive等图计算针对大规模图结构数据的处理Pregel、GraphX、Giraph、PowerGraph、Hama等3.4.2了解基本的数据挖掘算法

1.预测性包括分类和回归(1)分类:输出变量为离散型。分类分析通过分析具有类别的样本特点,得到决定样本属于各种类别的规则或方法。利用这些规则和方法对未知类别的样本分类时具有一定的准确度。其主要方法有基于统计学的贝叶斯方法、神经网络方法、决策树方法及支持向量机(supportvectormachines)等。(2)回归:输出变量为连续型。回归分析是一种预测性的建模技术,它研究的是目标变量和预测变量之间的关系。回归分析分为线性回归、多元回归和非线性同归。回归分析技术通常用于预测分析、时间序列模型以及发现变量之间的因果关系。例如用广告投入金额去预测销售收入金额、研究司机的鲁莽驾驶与道路交通事故数量之间的关系。2.描述性包括聚类和关联(1)聚类聚类分析是根据物以类聚的原理,将本身没有类别的样本聚集成不同的组,并且对每一个这样的组进行描述的过程。其主要依据是聚到同一个组中的样本应该彼此相似,而属于不同组的样本应该足够不相似。例如,根据分布在不同地理位置的ATM机的情况将居民进行区域划分,根据这一信息,可以有效地进行ATM机的设置规划,避免浪费,同时也避免失掉每一个商机。(2)关联关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。关联分析的重点在于快速发现那些有实用价值的关联发生的事件。其主要依据是事件发生的概率和条件概率应该符合一定的统计意义。例如,一个开设储蓄账户的客户很可能同时进行债券交易和股票交易。利用这种知识可以采取积极的营销策略,扩展客户购买的产品范围,吸引更多客户。3.4.2了解基本的数据挖掘算法

3.常用算法(1)决策树C4.5算法C4.5算法是机器学习算法中的一种分类决策树算法,其核心是ID3算法。C4.5算法用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足,在树的构造过程中进行剪枝,能够完成对连续属性的离散化处理,能够对不完整数据进行处理。(2)K-均值聚类算法Thek-meansalgorithm即K-Means算法,把n的对象根据它们的属性分为k个分割,k<n。它与处理混合正态分布的最大期望算法很相似,因为它们都试图找到数据中自然聚类的中心。它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。(3)支持向量机算法SupportVectorMachine即SVM。它是一种监督式学习的方法,它广泛应用于统计分类以及回归分析中。支持向量机将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔的超平面,在分开数据的超平面的两边建有两个互相平行的超平面,分隔超平面使两个平行超平面的距离最大化。假定平行超平面间的距离或差距越大,分类器的总误差越小。(4)Apriori算法Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。(5)AdaBoost算法Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器,然后把这些弱分类器集合起来,构成一个更强的最终分类器。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。(6)K-近邻算法k-NearestNeighbor即KNN分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。(7)朴素贝叶斯模型朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础以及稳定的分类效率。同时,该模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。当属性相关性较小时,该模型的性能最为良好。(8)分类与回归树算法ClassificationandRegressionTrees,即CART算法。在分类树中包含两个关键思想。第一个是关于递归地划分自变量空间的思想;第二个是用验证数据进行剪枝。在回归树基础上的模型树构建增加了难度,但同时其分类效果也有提升。3.4.3熟悉大数据处理的基本流程

步骤一:数据采集在数据采集过程中,数据源会影响大数据质量的真实性、完整性、一致性、准确性和安全性。对于Web数据,多采用网络爬虫的方式进行收集,这需要对爬虫软件进行时间设置以保障收集到的数据时效性质量。在大数据的采集过程中,主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户来进行访问和操作,所以需要在采集端部署大量数据库才能支撑。步骤二:数据预处理大数据的预处理环节主要包括数据清理、数据集成、数据归约与数据转换等内容,可以大大提高大数据的总体质量,是大数据过程质量的体现。数据清理技术包括对数据的不一致检测、噪声数据的识别、数据过滤与修正等方面;数据集成则是将多个数据源的数据进行集成,从而形成集中、统一的数据库、数据立方体等;数据归约是在不损害分析结果准确性的前提下降低数据集规模,使之简化,包括维归约、数据归约、数据抽样等技术;数据转换处理包括基于规则或元数据的转换、基于模型与学习的转换等技术。步骤三:数据处理与分析大数据的分布式处理技术与存储形式、业务数据类型等相关,针对大数据处理的主要计算模型有MapReduce分布式计算框架、分布式内存计算系统、分布式流计算系统等。MapReduce是一个批处理的分布式计算框架,可对海量数据进行并行分析与处理,它适合对各种结构化、非结构化数据的处理。分布式流计算系统则是对数据流进行实时处理,以保障大数据的时效性和价值性。大数据分析技术主要包括已有数据的分布式统计分析技术和未知数据的分布式挖掘、深度学习技术。分布式统计分析可由数据处理技术完成,分布式挖掘和深度学习技术则在大数据分析阶段完成,包括聚类与分类、关联分析、深度学习等,可挖掘大数据集合中的数据关联性,形成对事物的描述模式或属性规则,可通过构建机器学习模型和海量训练数据提升数据分析与预测的准确性。步骤四:数据可视化与应用环节数据可视化是指将大数据分析与预测结果以计算机图形图像的直观方式显示给用户的过程,并可与用户进行交互式处理。数据可视化技术有利于发现大量业务数据中隐含的规律性信息,以支持管理决策。大数据应用是指将经过分析处理后挖掘得到的大数据结果应用于管理决策、战略规划等的过程,它是对大数据分析结果的检验与验证。3.5使用大数据可视化工具013.5.1了解大数据可视化工具

1.入门级工具Excel是日常数据分析工作中最常用的工具,简单易用,它提供了各种图表功能。特别是在需要制作折线图、饼状图、柱状图、散点图等各种统计图表时,Excel通常首选工具。2.信息图表工具(1)D3(2)Flot(3)Echarts(4)Visual.ly(5)Tableau3.地图工具(1)PolyMaps(2)ModestMaps(3)Leaflet(4)OpenLayers4.高级分析工具(1)Processing(2)R(3)Python(4)Gepic3.5.2使用大数据可视化工具

1.python进行大数据可视化众多开源的科学计算机软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算机扩展库更丰富,例如:NumPy、Pandas、SciPy、Matplotlib、Pyecharts,它们为Python提供了快速数组处理、数值运算以及绘图功能。软件环境需要安装Pycharm(社区版)、Anaconda。图Pycharm社区版

图Anaconda2.Tableau进行大数据可视化使用Tableau进行大数据可视化,其实是使用其最核心的产品Desktop,利用其强大的分析能力完成各种指标的分析,并以丰富的可视化效果展示数据。通过下图可以清楚地看出Prep用于处理数据,Desktop用于分析并可视化数据,具有非常好的协同性。图Tableau操作流程图3.5.3大数据可视化案例

1.案例一:词云图根据一份列表记录了某可视化网站上最受用户喜爱的100篇文章的浏览量、评论数和文章分类,得到各类文章的浏览总量,然后使用pycharms库中的WordCloud()函数绘制词云图,总浏览量越大的文章分类的名称显示越大,总浏览量越小的文章分类的名称显示越小。

2.案例二:关系图数据源weibo.json中包含大量的微博用户之间微博转发关系,用pyecharts库中的Graph()函数可将用户节点和节点之间的转发关系绘制出来。微博转发关系图词云图3.6了解大数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论