gpt4 book ai didi

SparkSQL使用IDEA快速入门DataFrame与DataSet的完美教程

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章SparkSQL使用IDEA快速入门DataFrame与DataSet的完美教程由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1.使用IDEA开发Spark SQL

1.1创建DataFrame/DataSet

1、指定列名添加Schema 。

2、通过StrucType指定Schema 。

3、编写样例类,利用反射机制推断Schema 。

1.1.1指定列名添加Schema

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//导包
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.SparkSession
//代码
// 1.创建SparkSession
     val spark = SparkSession.builder().master( "local[*]" ).appName( "sql" ).getOrCreate()
// 2.使用spark 获取sparkContext 上下文对象
     val sc = spark.sparkContext
// 3.使用SparkContext 读取文件并按照空格切分 返回RDD
     val rowRDD: RDD[(Int, String, Int)] = sc.textFile( "./data/person.txt" ).map(_.split( " " )).map(x=>(x( 0 ).toInt,x( 1 ),x( 2 ).toInt))
// 4.导入隐式类
     import spark.implicits._
//5.将RDD 转换为DataFrame 指定元数据信息
     val dataFrame = rowRDD.toDF( "id" , "name" , "age" )
//6.数据展示
     dataFrame.show()

1.1.2StructType指定Schema

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//导包
import org.apache.spark.sql.{Row, SparkSession}
import org.apache.spark.sql.types.{IntegerType, StringType, StructField, StructType}
//编写代码
//1.实例SparkSession
     val spark = SparkSession.builder().master( "local[*]" ).appName( "sql" ).getOrCreate()
//2.根据SparkSession获取SparkContext 上下文对象
     val sc = spark.sparkContext
// 3.使用SparkContext读取文件并按照空开切分并返回元组
     val rowRDD = sc.textFile( "./data/person.txt" ).map(_.split( " " )).map(x=>Row(x( 0 ).toInt,x( 1 ),x( 2 ).toInt))
// 4.导入隐式类
     import spark.implicits._
//5.使用StructType 添加元数据信息
     val schema = StructType(List(
       StructField( "id" , IntegerType, true ),
       StructField( "name" , StringType, true ),
       StructField( "age" , IntegerType, true )
     ))
//6.将数据与元数据进行拼接 返回一个DataFrame
     val dataDF = spark.createDataFrame(rowRDD,schema)
//7.数据展示
     dataDF.show()

1.1.3反射推断Schema

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//导包
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.SparkSession
//定义单例对象
   case class Person(Id:Int,name:String,age:Int)
//编写代码
//1.实例sparkSession
     val spark = SparkSession.builder().master( "local[*]" ).appName( "sql" ).getOrCreate()
//2.通过sparkSession获取sparkContext 上下文对象
     val sc = spark.sparkContext
//3.通过sparkContext 读取文件并按照空格切分 将每一个数据保存到person中
     val rowRDD: RDD[Person] = sc.textFile( "./data/person.txt" ).map(_.split( " " )).map(x=>Person(x( 0 ).toInt,x( 1 ),x( 2 ).toInt))
// 4.导入隐式类
     import spark.implicits._
//5.将rowRDD转换为dataFrame
     val dataFrame = rowRDD.toDF()
     //6.数据展示
     dataFrame.show()

到此这篇关于SparkSQL使用IDEA快速入门DataFrame与DataSet的文章就介绍到这了,更多相关SparkSQL快速入门内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/qq_43791724/article/details/105468076 。

最后此篇关于SparkSQL使用IDEA快速入门DataFrame与DataSet的完美教程的文章就讲到这里了,如果你想了解更多关于SparkSQL使用IDEA快速入门DataFrame与DataSet的完美教程的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com