RDD五大特性和DataFrame互转

本文介绍了Spark的RDD核心特性,包括其弹性、分布式特点,以及分区、分区函数、优先位置和依赖关系等五大特性。同时,文章讨论了宽窄依赖的概念,并详细阐述了如何在RDD与DataFrame之间进行转换,提供了将DataFrame转换为RDD的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RDD:弹性分布数据集

弹性:可以自动进行内存和磁盘间的数据存储切换,容错性高

分布式:多节点

五大特性

分区partition:一个RDD会有一个或多个分区

分区函数patitioner

优先位置PerferedLocation:对于数据p返回数据的优先位置

依赖关系:RDD之间的依赖关系

迭代计算

宽窄依赖

父子关系是一对一还是多对一,宽的切分出来一个stage

转dataframe

 //导入隐饰操作,否则RDD无法调用toDF方法
    import sparkSession.implicits._
    val peopleRDD = sparkSession.sparkContext
      .textFile("file:/E:/scala_workspace/z_spark_study/people.txt",2)
      .map( x => x.split(",")).map( x => Person(x(0),x(1).trim().toInt)).toDF()

将DataFrame转换成RDD

利用     .rdd  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值