Spark SQL讀取資料來源建立DataFrame(一)
阿新 • • 發佈:2019-02-11
讀取文字檔案建立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
喜歡就點贊評論+關注吧
感謝閱讀,希望能幫助到大家,謝謝大家的支援!