一:存储

1.RDD[Person]是以Person为类型参数,但是,Person类的内部结构对于RDD而言却是不可知的。
2.DataFrame是一种以RDD为基础的分布式数据集,也就是分布式的Row对象的集合(每个Row对象代表一行记录),提供了详细的结构信息,也就是我们经常说的模式(schema),Spark SQL可以清楚地知道该数据集中包含哪些列、每列的名称和类型。

二:计算

rdd:表示一个类,笼统 scala、java开发,运营在jvm上
dataframe:是一个二维的表格,信息更具体,更加深度的优化schema信息(列裁剪,行过滤)查hive很方便,结构化的,逻辑执行计划,物理执行计划

三:RDD

RDD
优点:

编译时类型安全
编译时就能检查出类型错误
面向对象的编程风格
直接通过类名点的方式来操作数据
缺点:

序列化和反序列化的性能开销
无论是集群间的通信, 还是IO操作都需要对对象的结构和数据进行序列化和反序列化.
GC的性能开销
频繁的创建和销毁对象, 势必会增加GC

四:DataFrame

不受JVM的限制, 也就不再收GC的困扰了.

通过schema和off-heap, DataFrame解决了RDD的缺点, 但是却丢了RDD的优点. DataFrame不是类型安全的, API也不是面向对象风格的.## 标题

spark-dataframe与rdd的区别相关推荐

  1. spark比java快吗_为什么我的Spark DataFrame比RDD慢得多?

    这两个数字似乎都相对较高,并且不清楚如何创建 DataFrame 或测量时间,但一般来说,这样的差异可以通过与分区数量相比较少的记录来解释 . spark.sql.shuffle.partitions ...

  2. spark sql定义RDD、DataFrame与DataSet

    RDD 优点: 编译时类型安全 编译时就能检查出类型错误 面向对象的编程风格 直接通过类名点的方式来操作数据 缺点: 序列化和反序列化的性能开销 无论是集群间的通信, 还是IO操作都需要对对象的结构和 ...

  3. Spark中RDD、DataFrame和DataSet的区别与联系

    一.RDD.DataFrame和DataSet的定义 在开始Spark RDD与DataFrame与Dataset之间的比较之前,先让我们看一下Spark中的RDD,DataFrame和Dataset ...

  4. Spark中RDD与DataFrame与DataSet的区别与联系

    1.概述 这是一个面试题 在Spark中,DataFrame是一种以RDD为基础的分布式数据集,类似传统数据库中的二维表格 DataFrame与RDD的主要区别在于,前者带有schema元数据信息,既 ...

  5. Spark SQL之RDD转DataFrame

    准备文件 首先准备好测试文件info.txt,内容如下: 1,vincent,20 2,sarah,19 3,sofia,29 4,monica,26 将RDD转成DataFrame 方式一:反射 可 ...

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

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

  7. dataframe记录数_大数据系列之Spark SQL、DataFrame和RDD数据统计与可视化

    Spark大数据分析中涉及到RDD.Data Frame和SparkSQL的操作,本文简要介绍三种方式在数据统计中的算子使用. 1.在IPython Notebook运行Python Spark程序 ...

  8. spark dataframe的select和selectexpr的区别

    对比: spark dataframe的select和selectexpr的区别 select是把要遍历的集合ienumerable逐一遍历,每次返回一个t,合并之后直接返回一个ienumerable ...

  9. Spark精华问答 | RDD的核心概念是什么?

    Hadoop再火,火得过Spark吗?今天我们继续关于Spark的精华问答吧. 1 Q:RDD的核心概念是什么? A:Client:客户端进程,负责提交作业到Master. Master:Standa ...

  10. hadoop组件---spark----全面了解spark以及与hadoop的区别

    Spark是什么 Spark (全称 Apache Spark™) 是一个专门处理大数据量分析任务的通用数据分析引擎. spark官网 Spark核心代码是用scala语言开发的,不过支持使用多种语言 ...

最新文章

  1. easyexcel写入数据为空_如何解决Redis缓存和MySQL数据一致性的问题?
  2. Windows自动关闭程序
  3. WPF路径动画(动态逆向动画)
  4. 个人成长:2021年7月记
  5. 官宣!.NET官网发布中⽂版
  6. ios开发 多人语音聊天_在 Unity 多人游戏中实现语音对话
  7. 搞懂多维高斯分布的由来
  8. 【干货】2021年重点行业薪酬趋势指南.pdf(附下载链接)
  9. 【WWW2021】图结构估计神经网络
  10. redis LRU和LFU
  11. 调查问卷或量表数据的一般处理与SPSS统计分析
  12. java+ssm+sql就业管理系统
  13. 图片裁剪源代码+php,php进行图片裁剪及生成缩略图程序源代码
  14. Pytorch实战宝可梦分类-自定义数据集完成宝可梦分类案例分步解析
  15. 网络存储专有名词介绍
  16. python画出K线图及技术指标
  17. 一起来探索从双击程序到开始运行期间计算机经历了哪些过程
  18. osgi框架基础原理与实例一
  19. IBM Websphere Premises Server V6.1入门介绍和API实践
  20. 安徽建筑大学计算机技术909数据结构

热门文章

  1. Confluence 6 嵌套用户组的示例
  2. [virtualbox] win10与centos共享目录下,nginx访问问题
  3. Material 和 ShareMaterial 区别
  4. js在ie追加html,ie下动态加态js文件的方法
  5. Linux安装教程4,pfSense-2.4.4安装教程
  6. 安卓nfs网络文件服务器,Linux网络文件服务器 NFS
  7. ubuntu mysql主从备份_Ubuntu 16 MySQL主从备份配置
  8. C++使用boost::bind 订阅消息中的返回函数传入多个参数
  9. php strtofloat,Delphi6函数大全(3)
  10. java学习 - 函数