Spark编程基础(Scala版第3版)课件 第1章-大数据技术概述_第1页
Spark编程基础(Scala版第3版)课件 第1章-大数据技术概述_第2页
Spark编程基础(Scala版第3版)课件 第1章-大数据技术概述_第3页
Spark编程基础(Scala版第3版)课件 第1章-大数据技术概述_第4页
Spark编程基础(Scala版第3版)课件 第1章-大数据技术概述_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

大数据技术概述第1章目

录01大数据概念与关键技术02代表性大数据技术03编程语言的选择大数据概念1.1.1大数据概念VARIETYVELOCITYVALUEVOLUME大量化快速化多样化价值密度低4VVOLUME数据量大大量化1.1.1大数据概念人类社会数据每年50%的速度,每两年就增长一倍根据IDC发布报告1.1.1大数据概念人类在最近两年产生的数据量相当于之前产生的全部数据量数据量大1.1.1大数据概念数据存储单位之间的换算关系单位换算关系Byte(字节)1Byte=8bitKB(Kilobyte,千字节)1KB=1024ByteMB(Megabyte,兆字节)1MB=1024KBGB(Gigabyte,吉字节)1GB=1024MBTB(Trillionbyte,太字节)1TB=1024GBPB(Petabyte,拍字节)1PB=1024TBEB(Exabyte,艾字节)1EB=1024PBZB(Zettabyte,泽字节)1ZB=1024EB1.1.1大数据概念数据类型繁多VARIETY多样化1.1.1大数据概念10%结构化数据非结构化数据90%存储于关系型数据库中存储于非关系型数据库中大数据90%1.1.1大数据概念数据类型繁多基因组-LHC加速器-地球与空间探测--查询日志/点击流-Twitter/Blog/SNS-Wiki科学研究企业应用Web1.0数据Web2.0数据-交易记录-应用日志-Email、文档、文件文本-图像-视频-1.1.1大数据概念不同类型的数据1.1.1大数据概念VELOCITY快速化处理速度快1.1.1大数据概念一秒定律

从数据生成到决策响应仅需1秒2万次4.7万次6万次30万次90万次1秒定律1.1.1大数据概念价值密度低VALUE价值密度低有价值的数据海量数据1.1.1大数据概念价值密度低商业价值高1.1.1大数据概念大数据关键技术1.1.2大数据关键技术数据采集数据存储与管理数据处理与分析数据隐私与安全1.1.2大数据关键技术数据源中的数据临时中间层数据仓库或数据集市ETL工具加

载数据采集1.1.2大数据关键技术数据存储和管理云数据库NoSQL数据库分布式文件系统数据仓库关系数据库数据存储和管理1.1.2大数据关键技术数据处理与分析分布式并行编程模型机器学习数据挖掘算法实现对海量数据的处理和分析1.1.2大数据关键技术数据可视化对分析结果进行可视化呈现,帮助人们更好地理解数据、分析数据1.1.2大数据关键技术数据隐私和安全隐私数据保护体系数据安全保护体系1.1.2大数据关键技术数据存储与管理数据处理与分析大数据1.1.2大数据关键技术分布式存储分布式处理GFS\HDFSBigTable\HBaseNoSQLNewSQLMapReduceSparkFlink大数据1.1.2大数据关键技术大数据计算模式解决问题代表产品批处理计算针对大规模数据的批量处理MapReduce、Spark等流计算针对流数据的实时计算Flink、Storm、S4、Flume、Streams、Puma、DStream、SuperMario、银河流数据处理平台等图计算针对大规模图结构数据的处理Pregel、GraphX、Giraph、PowerGraph、Hama、GoldenOrb等查询分析计算大规模数据的存储管理和查询分析Dremel、Hive、Cassandra、Impala等大数据计算模式及其代表产品Hadoop1.2.1

Hadoop图Hadoop生态系统1.2.1

HadoopReduceMapMapReduce1.2.1

Hadoop编程容易,不需要掌握分布式并行编程细节1.2.1

Hadoop分而治之图MapReduce工作流程1.2.1

HadoopYARN实现“一个集群多个框架”1.2.1

Hadoop应用场景1企业应用场景2计算框架1计算框架2……业务……1.2.1

HadoopMapReduceImpalaStormSpark离线批处理实时交互式查询分析流式数据实时分析迭代计算1.2.1

HadoopMapReduceImpalaStormSpark不同的开发团队1.2.1

HadoopMapReduceImpalaStormSpark集群资源利用率低数据无法共享维护代价高1.2.1

Hadoop……StormImpalaHBase……Spark1.2.1

Hadoop……YARN资源调度管理框架StormImpalaHBase……Spark1.2.1

Hadoop各种计算框架图

在YARN上部署各种计算框架1.2.1

Hadoop图

在YARN上部署各种计算框架共享底层存储Spark1.2.2

SparkSparkCoreSparkSQLSparkStreamingMLlibGraphXSpark架构图完成RDD应用开发1.2.2

SparkSpark生态系统1.2.2

SparkVSSparkHadoopMapReduce1.2.2

SparkHadoopSpark缺点表达能力有限磁盘IO开销大延迟高1.2.2

Spark延迟高任务任务涉及IO开销1.2.2

Spark延迟高1.2.2

Spark延迟高HadoopMapReduce执行流程1.2.2

SparkSpark编程模型更灵活多种数据集操作类型提供了内存计算基于DAG的任务调度执行机制优点1.2.2

SparkHadoopMapReduce执行流程Spark

执行流程1.2.2

Spark图

Hadoop与Spark执行逻辑斯谛回归的时间对比1.2.2

SparkQ1???Spark会取代Hadoop吗?1.2.2

SparkHadoopHDFSMapReduceSpark取代1.2.2

SparkHadoopHDFSSparkHBase

数据的计算

数据的存储Flink1.2.3FlinkFlink架构图1.2.3Flink0102030405都可以获得较好的实时计算性能都支持类似SQL的编程接口都是用函数式编程模式都有完善的错误恢复机制都支持“精确一次”的语义一致性基于内存的计算框架批处理和流处理APl转换操作错误恢复机制语义一致性Flink和Spark共同点1.2.3FlinkFlink和Spark在API方面的比较APISparkFlink底层APIRDDProcessFunction核心APIDataFrame/DataSetDataStreamSQLSparkSQLTableAPI&SQL机器学习MLlibFlinkML图计算GraphXGelly其他FlinkCEP1.2.3Flink

Flink

Spark

在支持语言方面的比较支持语言SparkFlinkJava√√Scala√从Flink1.18版本开始,ScalaAPI被标记为“废弃”,且将在未来版本中予以移除Python√√R√第三方SQL√√1.2.3Flink

Flink

Spark

在部署环境方面的比较部署环境SparkFlinkLocal(SingleJVM)√√StandaloneCluster√√YARN√√Mesos√√Kubernetes√√1.2.3Flink二者区别Spark基于批来模拟流的计算Flink是基于流计算来模拟批计算技术理念Flink是一条一条地处理数据Spark是基于RDD的小批量处理流计算处理方式Flink性能略好于Spark,Flink支持增量迭代,具有对迭代进行自动优化的功能在HadoopYARN上运行Beam1.2.4

Beam一统天下?1.2.4

Beam编程接口1.2.4

Beam编程语言选择1.3编程语言的选择R语言数据建模统计分析可视化1.3编程语言的选择Python是目前国内外很多大学里流行的入门语言,学习门槛低,简单易用1.3编程语言的选择最热门的编程语言适合庞大的应用系统1.3编程语言的选择Scala是一门类似Java的多范式语言,它整合了面向对象编程和函数式编程的最佳特性1.3编程语言的选择具备强大的并发性Scala兼容JavaScala代码简洁优雅Scala支持高效的交互式编程Scala是Spark的开发语言1.3编程语言的选择原生接口数据分析接口SparkRPySpark1.3编程语言的选择Q1???开发Spark程序使用什么编程语言?1.3编程语言的选择开发Spark应用程序ScalaPythonJavaR语言1.3编程语言的选择0102在并发性能上Scala明显优于Python,Scala是静态类型,可以在编译阶段就抛出错误,便于开发大型大数据项目,此外,Scala兼容Java,运行在JVM上,可用Java中的HadoopAPI和Hadoop进行交互,但Python与Hadoop间的交互通常需要第三方库Python语言并发性能不好在大数据应用场景中,不太适合使用Java,因为完成同样的任务,Scala只需要一行代码,而Java则可能需要10行代码;Scala语言可支持交互式编程,大大提高了程序开发效率,而Java不支持交互式执行,必须编译以后运行Java代码太繁琐谢谢观看!林子雨

厦门大学信息学院E-mail:ziyulin@网

站:/附录A:主讲教师林子雨简介单位:厦门大学计算机科学与技术系E-mail:ziyulin@个人网页:/post/linziyu数据库实验室网站:主讲教师:林子雨林子雨,男,1978年出生,博士(毕业于北京大学),全国高校知名大数据教师,入选“2021年高校计算机专业优秀教师奖励计划”。现为厦门大学计算机科学与技术系副教授,厦门大学信息学院实验教学中心主任,曾任厦门大学信息科学与技术学院院长助理、晋江市发展和改革局副局长。中国计算机学会数据库专业委员会执行委员,中国计算机学会信息系统专业委员会执行委员。国内高校首个“数字教师”提出者和建设者,厦门大学数据库实验室负责人,厦门大学云计算与大数据研究中心主要建设者和骨干成员,2013年度、2017年度、2020年度和2023年度厦门大学教学类奖教金获得者,荣获2024年福建省高等教育教学成果奖特等奖(个人排名第七)、2022年福建省高等教育教学成果奖特等奖(个人排名第一)、2018年福建省高等教育教学成果奖二等奖(个人排名第一)、2018年国家精品在线开放课程、2021年国家级线上一流本科课程、2020年国家级线上一流本科课程。主要研究方向为数据库、数据仓库、数据挖掘、大数据、云计算和物联网,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务费项目(No.2011121049),主持的教改课题包括1项2016年福建省教改课题、1项2016年教育部产学协作育人项目、1项2024年教育部产学协作育人项目。编著出版了《大数据技术原理与应用》等13本大数据系列教材,被国内1000多所高校采用;建设了国内高校首个大数据课程公共服务平台,为教师教学和学生学习大数据课程提供全方

温馨提示

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

评论

0/150

提交评论