1.登录数据库

DateFrame基础操作d

  1. 1.加载parquet文件为DataFrame
  2. var dfusers=spark.read.load("")
  3. 2.json-->dataframe json()
  4. val dfPeople=spark.read.json("")
  5. val dfPeople1=spark.read.format("json").load("")
  6. 3.外部数据库创建DF
  7. val jdbcDF=spark.read.format("jdbc").options(
  8. )
  9. jdbcDF.show()

RDD创建DataFrame

1.利用反射机制推断RDD模式 定义一个case class
case class Person(name:String,age:Int)
读取数据源
val data=sc.textFile("/user/wang/people.txt").map(_.split(","))
转化为DF
val people=data.map(p=>Person(p(0),p(1).trim.toInt)).toDF()


case class Person

val people=data.map(p=>Person(p(0),p(1).trim.toInt)).toDF

DataFrame查看数据

1.准备数据
(1)上传到hdfs
hdfs dfs -put  文件路径 hdfs路径

 (2)加载为RDD
val data=sc.textFile().map(_.split("::"))
val data=sc.textFile().map(_.split("::"))
(3)RDD-->DF
case class=Movie(movieID:Int,titile:String,Genres:String)
val movie=data.map(m=>movie(m(0).trim.toInt,m(1),m(2))).toDF()


2.printSchema
(1)打印出数据模式 列的名称和类型
movies.printSchema
(2) show()/show(true) 只显示前20条字符
show(false)  显示所有

image.png
image.png

movies.collect()  array类型 所有数据
movie.collectAsList() List