Spark精华问答:DataFrame与RDD的主要区别在哪?

640?wx_fmt=png

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。目前的热度已经超过Hadoop,正所谓青出于蓝而胜于蓝,今天我们就来看看关于park 的精华问答吧。


640?wx_fmt=gif1

Q:DataFrame是什么?


A:DataFrame是一种以RDD为基础的分布式数据集,类似于传统数据库中的二维表格。


640?wx_fmt=gif2

Q:DataFrame与RDD的主要区别在于?


A:DataFrame带有schema元信息,即DataFrame所表示的二维表数据集的每一列都带有名称和类型。这使得SparkSQL得以洞察更多的结构信息,从而对藏于DataFrame背后的数据源以及作用于DataFrame之上的变换进行了针对性的优化,最终达到大幅提升运行时效率的目标。

反观RDD,由于无从得知所存数据元素的具体内部结构,Spark Core只能在stage层面进行简单、通用的流水线优化。


640?wx_fmt=gif3

Q:DataFrame 特性


A:1、支持从KB到PB级的数据量

2、支持多种数据格式和多种存储系统

3、通过Catalyst优化器进行先进的优化生成代码

4、通过Spark无缝集成主流大数据工具与基础设施

5、API支持Python、Java、Scala和R语言


640?wx_fmt=gif4

Q:RDD,全称为?


A:Resilient Distributed Datasets,意为容错的、并行的数据结构,可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。同时,RDD还提供了一组丰富的操作来操作这些数据。


640?wx_fmt=gif5

Q:RDD有什么特点?


A:它是在集群节点上的不可变的、已分区的集合对象。

通过并行转换的方式来创建如(map, filter, join, etc)。

失败自动重建。

可以控制存储级别(内存、磁盘等)来进行重用。

必须是可序列化的。

是静态类型的。


640?wx_fmt=png

小伙伴们冲鸭,后台留言区等着你!

关于Spark,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • Elastic Jeff Yoshimura:开源正在开启新一轮的创新 | 人物志

  • 深入浅出Docker 镜像 | 技术头条

  • 19岁当老板, 20岁ICO失败, 21岁将项目挂到了eBay, 为何初创公司如此艰难?

  • 码二代的出路是什么?

  • 机器学习萌新必备的三种优化算法 | 选型指南

  • 小程序的侵权“生死局”

  • @996 程序员,ICU 你真的去不起!


640?wx_fmt=png真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos7 使用Docker MySQL部署_01

文章目录Docker MySQL部署Docker MySQL部署 #1.拉取mysql镜像 docker pull mysql #2.查看拉取的mysql镜像 docker images#3.创建MySQL容器 docker run -di --name ly_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 mysql注:-p 代表端口映射,格式为 …

“自带大屏”的便利店,你见过吗?

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下! 平常,便利店倒是见过很多,但是“自带大屏”的便利店&#xf…

Centos7 使用Docker 部署Tomca+mysql+调试联通_02

文章目录一、Tomcat部署1. 拉取tomcat镜像2. 上传cas项目3. 修改cas系统的配置文件4. 创建tomcat容器5. 浏览器测试部署的web应用6. 输入账号密码测试mysql连接7. 访问注销接口测试一、Tomcat部署 1. 拉取tomcat镜像 docker pull tomcat:7-jre7注:拉取tomcat镜像&…

无剧透 | 分析《复联》英雄得出的结论:什么样的技术人适合做管理?

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!转自:技术领导力作者:力小哥/技术领导力社区特约撰稿人4月24日…

Centos7 使用Docker 部署Nginx+mysql+tomcat+调试联通_03

文章目录Nginx部署1. 拉取Nginx镜像2. 创建Nginx容器3. 测试Nginx4. 配置反向代理5. 浏览器nginx容器和tomcat容器联通测试6. 浏览器tomcat容器和mysql容器联通测试7. 浏览器注销接口测试Nginx部署 1. 拉取Nginx镜像 docker pull nginx2. 创建Nginx容器 docker run -di --na…

qt种实现搜索栏功能

引言 在搜索栏种输入要搜索的文本,就会出现相关联的文本提示,这是可以通过鼠标选中要搜索的文本,或者通过上下键选中要搜索的文本。 效果 效果图如下所示: 实现 下面是相关的代码实现,读者只需参考,理解…

Docker Redis部署_04

Docker Redis部署部署 1. 拉取Redis镜像2. 创建Redis容器3. 客户端测试 1. 拉取Redis镜像 docker pull redis2. 创建Redis容器 docker run -di --namepinyougou_redis -p 6379:6379 redis查看redis容器是否已经运行: docker ps3. 客户端测试 在你的本地电脑命令提…

关于谷歌云,你应该知道的一切! | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!译者:风车云马 在国内,“谷歌云”这个词并不像“亚马逊AWS”、“微软Azure…

Docker 容器导出为镜像

Docker 镜像备份与迁移 1. 容器保存为镜像2. 镜像备份3. 镜像恢复与迁移 1. 容器保存为镜像 我们可以通过以下命令将容器保存为镜像 docker commit pinyougou_nginx mynginxpinyougou_nginx是容器名称mynginx是新的镜像名称 pinyougou_nginx容器已经成功保存为mynginx镜像&…

Storm精华问答 | Kafka在Storm中的角色是什么?

戳蓝字“CSDN云计算”关注我们哦!Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,比如网站统计、推荐系统、预警系统、金融系统等, 大数据实时处理…

qt通过代码创建滚动区域,添加滚动区域到窗口

引言 继承于QWidget创建的项目,要想在QWidget中添加很多子控件,考虑到若是子控件的数目不确定,太多的时候就需要添加滚动条来实现滚动查看,于是可以自定义一个类,在该类中实现滚动区域和滚动窗口的创建,然…

SwitchHosts提示切换hosts失败!没有修改'C:\WINDOWS\system32\drivers\etc\hosts'的权限问题

文章目录1. 找到hosts文件2. 右键属性3. 去除只读勾选4. 属性安全编辑5. 点击选择修改和写入即可1. 找到hosts文件 根据将地址粘贴到窗口进行搜索找到"hosts"文件 地址: C:\Windows\System32\drivers\etc2. 右键属性 鼠标放在hosts文件上右键属性 3. 去除只读勾…

使用云原生buildpacks将你的代码转换成Docker Image | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!当我们在大概七年前将buildpack技术开源的时候,我们就知道这项技术将大大简…

qt设置鼠标追踪后,鼠标还是需要点击后才能变样式

引言 鼠标在窗口的四个边和四个角后会显示不同的样式。在构造函数中设置了鼠标追踪,但是鼠标依然需要点击后才能改变样式,究其原因是只设置了父窗口的鼠标追踪,没有设置子控件的追踪,当然是子控件与父窗口的鼠标追踪有关才需要设…

Docker镜像备份与迁移

文章目录1. 将容器备份成镜像2. 将镜像备份成本地文件3.从本地加载备份文件恢复镜像1. 将容器备份成镜像 用centos镜像创建一个名称为mycentos的容器 docker run -id --namemycentos centos:7查看所有容器 docker ps -a将容器mycentos保存为镜像 docker commit mycentos my…

明星企业内推+BAT面经,长三角的开发者联合起来!

戳蓝字“CSDN云计算”关注我们哦!“为什么公司宁愿花20K招新人,也不愿给老员工加到20K?”这个热门的微博话题戳起了很多人的痛处,但根据 CSDN &《程序员》杂志发布的「中国软件开发者薪资调查报告」,有32.98%的开发…

Spring4.x整合Axis1.4发布WebService服务

Spring4.x整合Axis1.4发布WebService服务 文章目录一、服务端部署1. 在web.xml文件中添加映射路径和spring监听2. 添加spring-axis.xml配置文件3. 添加server-config.wsdd配置文件4. 对外发布服务外壳类5. 添加接口类6. 添加接口逻辑实现类7. 浏览器测试二、客户端部署2.1 axis…

阿里云亚太市场份额第一;AWS宣布在香港推出新区域;Facebook出成绩单;微软在美国西部开建第五个大型云平台...

戳蓝字“CSDN云计算”关注我们哦!重磅先知 Gartner:阿里云亚太市场份额第一AWS宣布在香港推出新的区域一直在水逆的Facebook出成绩单微软在美国西部开建第五个大型云平台重磅快报Gartner:阿里云亚太市场份额第一4月24日,市场研究…

1s完成 大文件分割方案

按行数分割方案: 执行命令: split -l 1000 i.txt -d -a 4 gblfy_格式:split -l 行数 文件名 -d -a 4 gblfy_ 解析: 1、每个文件1000行(-l 1000); 2、文件名称后缀系数不是字母而是数字(-d)&…

git通过指令查看某一个已经修改的文件的改动

方法 提交文件的时候提示文件发生了变动,这时若是要查看文件具体发生了什么变动,只需在命令行输入下述指令便可:git diff 文件名。 上面截图中可以通过git status来查看该项目中各文件的状态,可以看到文件 modified: SceneModule…