大数据平台与编程第7章 Spark结构化编程Dataframe.pptxVIP

大数据平台与编程第7章 Spark结构化编程Dataframe.pptx

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第7章Spark结构化编程DataFrame

?DataFrame概述目录?DataFrame的创建?本章小结?本章习题?DataFrame的基础操作

DataFrame概述什么是DataFrameDataFrame与RDD类似,都是Spark用于分布式计算的不可变数据集合。DataFrame是SparkSQL处理结构化数据的核心抽象,支持通过简易SQL接口进行数据分析。使用DataFrame,需要将数据源转化为DataFrame对象,然后调用API实现需求,或注册为表以使用SQL查询。DataFrame类似关系数据库中的表,可从多种结构化数据源加载,如结构化数据文件、Hive表和外部数据库。DataFrameAPI支持Scala、Java、Python和R。

DataFrame概述DataFrame与RDD的区别RDD和DataFrame均为Spark平台对数据的一种抽象,一种组织方式,但是两者的地位或者设计目的截然不同。RDD是整个Spark平台的存储、计算以及任务调度的逻辑基础,更具有通用性,适用于各类数据源,是分布式的Java对象的集合。而DataFrame是针对结构化数据源的高层数据抽象,是分布式的Row对象的集合,其中在DataFrame对象创建过程中必须指定数据集的结构信息(Schema),所以DataFrame是具有专业性的数据抽象,只能读取具有鲜明结构的数据集。

DataFrame与RDD的区别DataFrame与RDD最大的不同在于,RDD仅是一条条数据的集合,由于不了解RDD数据集内部的结构,Spark作业执行只能调度阶段层面进行简单通用的优化。而DataFrame带有Schema元数据,即DataFrame所表示的二维表数据集的每一列都带有名称和类型,对于带有数据集内部结构的DataFrame,可以根据结构信息进行针对性的优化,最终优化运行效率。

DataFrame与RDD的区别StudentStudentStudentNameAgeCountryInstituteHeightWeightStringIntStringStringIntIntStringIntStringStringIntIntStringIntStringStringIntIntRDD[Student]DataFrame[Student]下图直观地体现了DataFrame和RDD的区别。

DataFrame与RDD的区别DataFrame除了提供了比RDD更丰富的算子操作以外,更能利用已知的结构信息来提升执行效率、减少数据读取以及执行计划的优化。而RDD由于无从得知所存数据元素的具体内部结构,所以RDD提供的API功能上没有DataFrame强大丰富且自带优化,称之为Low-levelAPI,SparkCore只能在Stage层面进行简单、通用的流水线优化。

DataFrame与RDD的区别正如RDD的各种变换实际上只是构造RDDDAG,DataFrame的各种变化同样也是惰性的,它们并不直接求出计算结果,而是将各种变换组装成与RDDDAG类似的逻辑查询计划,经过优化的逻辑执行计划被翻译为物理执行计划,并最终落实为RDDDAG。

DataFrame的特性作为现有RDDAPI的扩展,DataFrame具有以下特性(功能):1.能够从单台笔记本电脑上的千字节数据扩展到大型群集上的PB级数2.支持各种数据格式和存储系统3.通过SparkSQLCatalyst优化器实现最先进的优化和代码生成4.通过Spark无缝集成所有大数据工具和基础架构5.Python,Java,Scala和R的API(通过SparkR开发)6.对于用户友好,易于编程,同时通过智能优化和代码生成来提高性能。通过DataFrame与Catalyst优化器,现有的Spark程序迁移到DataFrame时性能得到改善。由于优化器生成用于执行的JVM字节码,因此Python用户将体验到与Scala和Java用户相同的高性能。

?DataFrame的创建目录?DataFrame概述?本章小结?本章习题?DataFrame的基础操作

DataFrame的创建程序主入口SparkSession从Spark2.0以上版本开始,SparkSQL模块的编程主入口点是SparkSession,替代了Spark1.6中的SQLContext以及HiveContext接口,实现了SQLContext和HiveContext对数据加载、转换、处理等全部功能。SparkSession对象不仅为用户提供了创建DataFrame对象、读取外部数据源并转化为DataFrame对象以及执行sql查询的API,还负责记录着用户希望Spark应用在Spark集群运行的控制、调优参数,是Sp

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档