大数据全系列 教程
1869个小节阅读:466.8k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
实际开发中,一般通过样例类将RDD转换为DataFrame
在IDEA中开发程序时,如果需要RDD与DF或者DS之间互相转换操作,那么需要引入 import spark.implicits._
定义样例类Student:
xxxxxxxxxx
package com.itbaizhan.sql
//定义样例类
case class Student(id:Int,name:String,age:Int)
编写ToDFDemo2类:
xxxxxxxxxx
package com.itbaizhan.sql
import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{DataFrame, SparkSession}
object ToDFDemo2 {
def main(args: Array[String]): Unit = {
//1.创建配置文件对象
val conf: SparkConf = new SparkConf()
.setMaster("local[*]")
.setAppName("toDF2")
//2.创建SparkSession对象
val spark: SparkSession = SparkSession.builder()
.config(conf).getOrCreate()
//4.添加隐式转换
import spark.implicits._
//5.读取本地文件,并创建RDD[Student]
val rdd: RDD[Student] = spark.sparkContext
.textFile("data/sql/student.txt")
.map(_.split(","))
.map(arr => Student(arr(0).toInt, arr(1), arr(2).toInt))
//6.通过rdd.toDF()转换为DataFrame
val df: DataFrame = rdd.toDF()
//7.输出df的结构信息和数据信息
df.printSchema()
df.show()
//3.关闭spark
spark.stop()
}
}
运行输出:
xxxxxxxxxx
root
|-- id: integer (nullable = false)
|-- name: string (nullable = true)
|-- age: integer (nullable = false)
+---+-----+---+
| id| name|age|
+---+-----+---+
| 1| tom| 22|
| 2| lucy| 21|
| 3|peter| 23|
| 4| john| 25|
+---+-----+---+