DateFrame基础操作d
1.加载parquet文件为DataFrame
var dfusers=spark.read.load("")
2.json-->dataframe json()
val dfPeople=spark.read.json("")
val dfPeople1=spark.read.format("json").load("")
3.外部数据库创建DF
val jdbcDF=spark.read.format("jdbc").options(
)
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) 显示所有
movies.collect() array类型 所有数据
movie.collectAsList() List