首页 > 其他分享 >Spark中RDD对DF的转换

Spark中RDD对DF的转换

时间:2022-10-28 20:00:57浏览次数:47  
标签:String val DF strings RDD Spark spark splits

SparkRDDToDF

package com.sql

import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{DataFrame, Row, SparkSession}

object Demo06RDDtoDF {
  def main(args: Array[String]): Unit = {

    val spark: SparkSession = SparkSession
      .builder()
      .appName("Demo06RDDtoDF")
      .master("local")
      .config("spark.sql.shuffle.partitions", 2)
      .getOrCreate()

    import spark.implicits._

    val stuRDD: RDD[String] = spark.sparkContext.textFile("bigdata19-spark/data/students.txt")

    // RDD to DataFrame
    // 1、手动指定列名
    val stuRddToDF: DataFrame = stuRDD.map(line => {
      val splits: Array[String] = line.split(",")
      (splits(0), splits(1), splits(2).toInt, splits(3), splits(4))
    }).toDF("id", "name", "age", "gender", "clazz")

    stuRddToDF.show()

    //第2种,使用样例类
    val stuRddToDF2: DataFrame = stuRDD.map(line => {
      val strings: Array[String] = line.split(",")
      StuRDDToDF(strings(0), strings(1), strings(2).toInt, strings(3), strings(4))
    }).toDF()
    stuRddToDF2.show()

    // DF to RDD
    // 直接调用.rdd方法即可得到一个 每一条数据都是Row对象的RDD
    val rdd: RDD[Row] = stuRddToDF.rdd
  }

}
case class StuRDDToDF(id:String,name:String,age:Int,gender:String,clazz:String)

 

标签:String,val,DF,strings,RDD,Spark,spark,splits
From: https://www.cnblogs.com/wqy1027/p/16837320.html

相关文章

  • Spark整合hive
    Spark-SQL写代码方式1、在IDEA中将代码编写好打包上传到集群中运行(上线使用)使用spark-submit提交2、spark-shell(repl)里面使用sqlContext测试使用,简单任务使......
  • PDF 文件操作 PdfHelper
    usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingiTextSharp.text;us......
  • TypeC的CC、UFP、DFP、DRP
    1.CC(ConfigurationChannel):配置通道,这是USBType-C里新增的关键通道。它的作用有检测正反插,检测USB连接识别可以提供多大的电压和电流,USB设备间数据与VBUS的连接建立......
  • Hadoop - hdfs源码体系结构
    ......
  • 【论文阅读】VDBFusion: Flexible and Efficient TSDF Integration of Range Sensor D
    Type:SensorsYear:2022tag:Mapping组织:Bonn参考与前言论文链接:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8838740/其他参考建议看一下本篇论文的对应refer......
  • 利用Github Actions自动将Markdown文件转为Latex文档并生成PDF(制作一个支持自动编译
    首先放上成品的仓库地址:​​Gtihub-ACM_Template_Library​​,欢迎Star哦~效果展示:1.创建GithubActions首先创建一个GithubActions的YML文件(可以通过Github模板生成),然后......
  • DFP 数据转发协议应用实例 4.修改网络中指定设备的参数
    DFP数据转发协议应用实例4.修改网络中指定设备的参数DFP是什么?河北稳控科技编写的一套数据转发规则,取自“自由转发协议FFP(FreeForwardProtocol)”,或者DFP(DoubleF......
  • AMD Xilinx MPSoC DFX 设计
    草稿目录总结概述OverviewDFXPetaLinux编译DFXfullbit加载DFXpartialbit加载其它测试环境工具测试单板参考文档总结概述OverviewDFXPetaLinux编译DFXful......
  • Spark SQL概述、函数用法
    SparkSQL  底层还是基于RDD的,常用的语言DSL底层架构    在idea中的操作引入pom依赖<dependency><groupId>org.apache.spark</gr......
  • SparkSQL(二)
    【理解】SparkSQL执行流程接收到查询,既可以是SQL语句,也可以是DSL语法,以一个SQL语句为例:1、Parser,第三方类库Antlr实现。将sql字符串切分成Token,根据语义规则......