一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SparkSQL使用IDEA快速入門DataFrame與DataSet的完美教程

SparkSQL使用IDEA快速入門DataFrame與DataSet的完美教程

2021-11-12 14:37大數據老哥 Java教程

本文給大家介紹使用idea開發Spark SQL 的詳細過程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

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

延伸 · 閱讀

精彩推薦
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
主站蜘蛛池模板: 国产拍拍视频一二三四区 | 亚洲视频一区二区在线观看 | 四虎4hu永久免费国产精品 | 国产精品国产高清国产专区 | 999导航| 国产日韩欧美综合在线 | 亚洲精品久久久久69影院 | 天堂中文在线观看 | 国产探花在线观看 | 热热影院| 亚洲高清在线天堂精品 | 禁止的爱善良的未删减版hd | 国内精品视频免费观看 | 美女被的在线网站91 | 亚洲国产欧美在线人成aaaa20 | 男生同性视频twink在线 | 精品久久久久久国产 | 男生操女生动态图 | 黑帮少爷爱上我第8集最新 荷兰精品女人性hd 和日本免费不卡在线v | 国产亚洲精品精品国产亚洲综合 | 亚洲视频在线免费看 | 碰91精品国产91久久婷婷 | 偷拍自拍校园春色 | 性xxxx中国| 午夜久久免影院欧洲 | 91嫩草私人成人亚洲影院 | 男女激情视频1000辣妞范 | 操穴勤 | 亚洲精品午夜级久久久久 | 亚洲图片综合区 | 99av涩导航 | s8sp加密路线和免费路线首页 | 美女扒开胸罩露出奶了无遮挡免费 | 日本欧美一二三区色视频 | 欧美视频久久 | 日韩视频免费一区二区三区 | 波多野结在线观看 | 国产私拍精品88福利视频 | 国产精品成人 | 2022色婷婷综合久久久 | 女人把扒开给男人爽 |