好看的旅游网站模板下载python基础教程第二版课后答案
web/
2025/9/27 15:01:38/
文章来源:
好看的旅游网站模板下载,python基础教程第二版课后答案,网站开发做美工,网站定制公司选哪家数据起源#xff1a;
规模庞大#xff0c;结构复杂#xff0c;难以通过现有商业工具和技术在可容忍的时间内获取、管理和处理的数据集。具有5V特性#xff1a;数量#xff08;Volume#xff09;#xff1a;数据量大、多样性#xff08;Variety#xff09;#xff1a…数据起源
规模庞大结构复杂难以通过现有商业工具和技术在可容忍的时间内获取、管理和处理的数据集。具有5V特性数量Volume数据量大、多样性Variety种类繁多、速度Volocity处理速度快、真实性Veracity、数据价值价值密度低Value。
数据处理的三驾马车
分布式文件系统GFS大数据分布式计算框架MapReduceNoSQL数据库系统BigTable
搜索引擎主要就做两件事情网页抓取和索引构建。三驾马车”就是用来解决这个过程中大量的数据存储和计算。一个文件系统、一个计算框架、一个数据库系统。
Doug Cutting根据三驾马车论文原理初步实现了类似GFS和MapReduce的功能后来将这些大数据相关的功能从开源搜索引擎Nutch中分离了出来然后启动了一个独立的项目专门开发维护大数据技术——Hadoop主要包括Hadoop分布式文件系统HDFS和大数据计算引擎MapReduce。
Yahoo的一些人觉得用MapReduce进行大数据编程太麻烦了于是便开发了Pig。Pig是一种脚本语言使用类SQL的语法开发者可以用Pig脚本描述要对大数据集上进行的操作Pig经过编译后会生成MapReduce程序然后在Hadoop上运行。
编写Pig脚本虽然比直接MapReduce编程容易但是依然需要学习新的脚本语法。于是Facebook又发布了Hive。Hive支持使用SQL语法来进行大数据计算然后Hive会把SQL语句转化成MapReduce的计算程序2011年的时候Facebook大数据平台上运行的作业90%都来源于Hive。
随后众多Hadoop周边产品开始出现大数据生态体系逐渐形成其中包括专门将关系数据库中的数据导入导出到Hadoop平台的Sqoop针对大规模日志进行分布式收集、聚合和传输的FlumeMapReduce工作流调度引擎Oozie等。Yarn把MapReduce执行引擎和资源调度分离开来Yarn成为大数据平台上最主流的资源调度系统。
由于MapReduce进行机器学习计算的时候性能非常差因为机器学习算法通常需要进行很多次的迭代计算而MapReduce每执行一次Map和Reduce计算都需要重新启动一次作业带来大量的无谓消耗。还有一点就是MapReduce主要使用磁盘作为存储介质。于是出现了Spark一经推出立即受到业界的追捧并逐步替代MapReduce在企业应用中的地位。
一般说来像MapReduce、Spark这类计算框架处理的业务场景都被称作批处理计算因为它们通常针对以“天”为单位产生的数据进行一次计算然后得到需要的结果这中间计算需要花费的时间大概是几十分钟甚至更长的时间。因为计算的数据是非在线得到的实时数据而是历史数据所以这类计算也被称为大数据离线计算。
在大数据领域还有另外一类应用场景它们需要对实时产生的大量数据进行即时计算比如对于遍布城市的监控摄像头进行人脸识别和嫌犯追踪。这类计算称为大数据流计算相应地有Storm、Flink、Spark Streaming等流计算框架来满足此类大数据应用的场景。 流式计算要处理的数据是实时在线产生的数据所以这类计算也被称为大数据实时计算。
数据业务最通用的做法是采用批处理的技术处理历史全量数据采用流式计算处理实时新增数据。而像Flink这样的计算引擎可以同时支持流式计算和批处理计算。
除了大数据批处理和流处理NoSQL系统处理的主要也是大规模海量数据的存储与访问所以也被归为大数据技术。大数据处理的主要应用场景包括数据分析、数据挖掘与机器学习。数据分析主要使用Hive、Spark SQL等SQL引擎完成数据挖掘与机器学习则有专门的机器学习框架TensorFlow、Mahout以及MLlib等内置了主要的机器学习和数据挖掘算法。大数据要存入分布式文件系统HDFS要有序调度MapReduce和Spark作业执行并能把执行结果写入到各个应用系统的数据库中还需要有一个大数据平台整合所有这些大数据组件和企业应用系统。 大数据应用
搜索引擎时代Google开发了GFSGoogle文件系统将数千台服务器上的数万块磁盘统一管理起来然后当作一个文件系统统一存储所有这些网页文件。Google得到这些网页文件是要构建搜索引擎需要对所有文件中的单词进行词频统计然后根据PageRank算法计算网页排名。基于这些需求Google又开发了MapReduce大数据计算框架。
数据仓库时代Hive可以在Hadoop上进行SQL操作实现数据统计与分析。也就是说我们可以用更低廉的价格获得比以往多得多的数据存储与计算能力。我们可以把运行日志、应用采集数据、数据库数据放到一起进行计算分析获得以前无法得到的数据结果。
数据挖掘时代除了数据统计我们还希望发掘出更多数据的价值发现数据之间关联性。
机器学习时代在过去我们受数据采集、存储、计算能力的限制只能通过抽样的方式获取小部分数据无法得到完整的、全局的、细节的规律。而现在有了大数据可以把全部的历史数据都收集起来统计其规律进而预测正在发生的事情。
医疗健康领域医学影像智能识别、病历大数据智能诊疗
教育领域 AI外语老师、智能解题
金融领域大数据风控、量化交易
社交媒体领域舆情监控与分析
新零售领域全链路管理。从生产、物流、购物体验使用大数据进行分析和预判实现精准生产、零库存
交通领域无人驾驶技术
大数据的存储
单机时代主要的解决方案是RAID独立磁盘冗余阵列分布式时代主要解决方案是分布式文件系统
大规模数据存储都需要解决核心问题数据存储容量的问题数据读写速度的问题数据可靠性的问题。
RAID独立磁盘冗余阵列技术是将多块普通磁盘组成一个阵列共同对外提供服务。主要是为了改善磁盘的存储容量、读写速度增强磁盘的可用性和容错能力。目前服务器级别的计算机都支持插入多块磁盘8块或者更多通过使用RAID技术实现数据在多块磁盘上的并发读写和数据备份。 数据存储容量的问题。RAID使用了N块磁盘构成一个存储阵列如果使用RAID 5数据就可以存储在N-1块磁盘上这样将存储空间扩大了N-1倍。 数据读写速度的问题。RAID根据可以使用的磁盘数量将待写入的数据分成多片并发同时向多块磁盘进行写入显然写入的速度可以得到明显提高同理读取速度也可以得到明显提高。不过需要注意的是由于传统机械磁盘的访问延迟主要来自于寻址时间数据真正进行读写的时间可能只占据整个数据访问时间的一小部分所以数据分片后对N块磁盘进行并发读写操作并不能将访问速度提高N倍。 数据可靠性的问题。使用RAID 10、RAID 5或者RAID 6方案的时候由于数据有冗余存储或者存储校验信息所以当某块磁盘损坏的时候可以通过其他磁盘上的数据和校验数据将丢失磁盘上的数据还原。
实现更强的计算能力和更大规模的数据存储有两种思路一种是升级计算机一种是用分布式系统。前一种也被称作“垂直伸缩”scaling up通过升级CPU、内存、磁盘等将一台计算机变得更强大后一种是“水平伸缩”scaling out添加更多的计算机到系统中从而实现更强大的计算能力。HDFS则是水平伸缩通过添加更多的服务器实现数据更大、更快、更安全存储与访问。
RAID技术只是在单台服务器的多块磁盘上组成阵列大数据需要更大规模的存储空间和更快的访问速度。将RAID思想原理应用到分布式服务器集群上就形成了Hadoop分布式文件系统HDFS的架构思想。
大数据技术框架 存储 – HDFS 应用场景
最基本的存储技术是HDFS。比如把通过各种渠道得到的数据比如关系数据库的数据、日志数据、应用程序埋点采集的数据、爬虫从外部获取的数据统统存储到HDFS上供后续的统一使用。
存储 – HBase 应用场景
HBase作为NoSQL类非关系数据库的代表性产品从分类上可以划分到存储类别它的底层存储也用到了HDFS。HBase的主要用途是在某些场景下代替MySQL之类的关系数据库的数据存储访问利用自己可伸缩的特性存储比MySQL多得多的数据量。
计算 – 离线大数据处理技术
大数据计算框架最早是MapReduce目前看来用的最多的是Spark通常我们会用Hive或者Spark SQL这样的大数据仓库工具进行大数据分析和计算。MapReduce、Spark、Hive、Spark SQL这些技术主要用来解决离线大数据的计算也就是针对历史数据进行计算分析比如针对一天的历史数据计算一天的数据是一批数据所以也叫批处理计算。
计算 – 流处理大数据技术
而Storm、Spark Streaming、Flink这类的大数据技术是针对实时的数据进行计算比如摄像头实时采集的数据、实时的订单数据等数据实时流动进来所以也叫流处理大数据技术。
资源管理 – Yarn
不管是批处理计算还是流处理计算都需要庞大的计算资源需要将计算任务分布到一个大规模的服务器集群上。那么如何管理这些服务器集群的计算资源如何对一个计算请求进行资源分配这就是大数据集群资源管理框架Yarn的主要作用。各种大数据计算引擎不管是批处理还是流处理都可以通过Yarn进行资源分配运行在一个集群中。在由很多台服务器组成的服务器集群中某台服务器可能运行着HDFS的DataNode进程负责HDFS的数据存储同时也运行着Yarn的NodeManager负责计算资源的调度管理而MapReduce、Spark、Storm、Flink这些批处理或者流处理大数据计算引擎则通过Yarn的调度运行在NodeManager的容器container里面。
大数据基准测试工具HiBench是Intel推出的一个大数据基准测试工具。大数据作为一个生态体系不但有各种直接进行大数据处理的平台和框架比如HDFS、MapReduce、Spark还有很多周边的支撑工具而大数据基准测试工具就是其中一个大类。作用是对各种大数据产品进行测试检验大数据产品在不同硬件平台、不同数据量、不同计算任务下的性能表现。
HiBench内置了若干主要的大数据计算程序作为基准测试的负载workload。
Sort对数据进行排序大数据程序。 WordCount前面多次提到过词频统计大数据计算程序。 TeraSort对1TB数据进行排序最早是一项关于软件和硬件的计算力的竞赛所以很多大数据平台和硬件厂商进行产品宣传的时候会用TeraSort成绩作为卖点。 Bayes分类机器学习分类算法用于数据分类和预测。 k-means聚类对数据集合规律进行挖掘的算法。 逻辑回归数据进行预测和回归的算法。 SQL包括全表扫描、聚合操作group by、连接操作join几种典型查询SQL。 PageRankWeb排序算法。
Hibench的编译需要java环境 (java 环境配置(详细教程)_java环境配置-CSDN博客)和maven(maven的下载与安装教程超详细_maven安装-CSDN博客)Spark2.4.0Scala2.11.12。
下载https://github.com/Intel-bigdata/HiBench下载好后解压缩到目录下进入该目录编译
大数据平台
大数据计算通过将可执行的代码分发到大规模的服务器集群上进行分布式计算以处理大规模的数据即所谓的移动计算比移动数据更划算。但是在分布式系统中分发执行代码并启动执行这样的计算方式必然不会很快即使在一个规模不太大的数据集上进行一次简单计算MapReduce也可能需要几分钟Spark快一点也至少需要数秒的时间。
而互联网产品处理用户请求需要毫秒级的响应也就是说要在1秒内完成计算因此大数据计算必然不能实现这样的响应要求。但是互联网应用又需要使用大数据实现统计分析、数据挖掘、关联推荐、用户画像等一系列功能。因此要构建一个大数据平台互联网大数据平台的架构 大数据平台里面向用户的在线业务处理组件用褐色标示出来这部分是属于互联网在线应用的部分其他蓝色的部分属于大数据相关组件使用开源大数据产品或者自己开发相关大数据组件。大数据平台由上到下可分为三个部分数据采集、数据处理、数据输出与展示。
数据采集
将应用程序产生的数据和日志等同步到大数据系统中由于数据源不同这里的数据同步系统实际上是多个相关系统的组合。数据库同步通常用Sqoop日志同步可以选择Flume打点采集的数据经过格式化转换后通过Kafka等消息队列进行传递。
数据处理
这部分是大数据存储与计算的核心数据同步系统导入的数据存储在HDFS。MapReduce、Hive、Spark等计算任务读取HDFS上的数据进行计算再将计算结果写入HDFS。MapReduce、Hive、Spark等进行的计算处理被称作是离线计算HDFS存储的数据被称为离线数据。在大数据系统上进行的离线计算通常针对某一方面的全体数据比如针对历史上所有订单进行商品的关联性挖掘这时候数据规模非常大需要较长的运行时间这类计算就是离线计算。
数据输出与展示
大数据计算产生的数据还是写入到HDFS中但应用程序不可能到HDFS中读取数据所以必须要将HDFS中的数据导出到数据库中。数据同步导出相对比较容易计算产生的数据都比较规范稍作处理就可以用Sqoop之类的系统导出到数据库。
将上面三个部分整合起来的是任务调度管理系统不同的数据何时开始同步各种MapReduce、Spark任务如何合理调度才能使资源利用最合理、等待的时间又不至于太久同时临时的重要任务还能够尽快执行这些都需要任务调度管理系统来完成。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82826.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!