1. 程式人生 > >Spark SQL讀取資料來源建立DataFrame(一)

Spark SQL讀取資料來源建立DataFrame(一)

讀取文字檔案建立DataFrame

在spark2.0之後,SparkSession 封裝了 SparkContext,SqlContext,通過SparkSession可以獲取到SparkConetxt,SqlContext物件。

1、建立本地檔案並上傳hdfs

有三列,分別是id、name、age,用空格分隔

vi person.txt

1 zhangsan 20
2 lisi 29
3 wangwu 25
4 zhaoliu 30
5 tianqi 35
6 kobe 40

上傳到hdfs

hdfs dfs -put person.txt /

2、讀取資料並分割

配置的預設讀取hdfs


啟動shell

spark-shell --master local[2]

讀取資料,將每一行的資料使用列分隔符分割先執行

val lineRDD= sc.textFile("/person.txt").map(_.split(" "))

3、定義樣例類

case class Person(id:Int, name:String, age:Int)

這裡寫圖片描述

4、RDD和樣例類關聯

val personRDD = lineRDD.map(x => Person(x(0).toInt, x(1), x(2).toInt))

這裡寫圖片描述

5、RDD轉換為DataFrame

val personDF 
= personRDD.toDF

這裡寫圖片描述

6、對DataFrame操作

personDF.show

這裡寫圖片描述

personDF.printSchema

這裡寫圖片描述

7、通過SparkSession構建DataFrame

使用spark-shell中已經初始化好的SparkSession物件spark生成DataFrame

val dataFrame=spark.read.text("/person.txt")

dataFrame.show

這裡寫圖片描述

喜歡就點贊評論+關注吧

這裡寫圖片描述

感謝閱讀,希望能幫助到大家,謝謝大家的支援!