Rdd没法调用toDF原因
創建rdd方法1//use case class Person
? case class Person(name:String,age:Int)
? def rddToDFCase(sparkSession : SparkSession):DataFrame = {
? ? //導入隱飾操作,否則RDD無法調用toDF方法
? ? import sparkSession.implicits._
? ? val peopleRDD = sparkSession.sparkContext
? ? ? .textFile("file:/E:/scala_workspace/z_spark_study/people.txt",2)
? ? ? .map( x => x.split(",")).map( x => Person(x(0),x(1).trim().toInt)).toDF()
? ? peopleRDD
}
創建rdd方法2:
def rddToDF(sparkSession : SparkSession):DataFrame = {
? ? //設置schema結構
? ? val schema = StructType(
? ? ? Seq(
? ? ? ? StructField("name",StringType,true) ? ? ? ? ?
? ? ? ? ,StructField("age",IntegerType,true)
? ? ? )
? ? )
? ? val rowRDD = sparkSession.sparkContext
? ? ? .textFile("file:/E:/scala_workspace/z_spark_study/people.txt",2)
? ? ? .map( x => x.split(",")).map( x => Row(x(0),x(1).trim().toInt)) ?
? ? sparkSession.createDataFrame(rowRDD,schema)
? }
?
總結
以上是生活随笔為你收集整理的Rdd没法调用toDF原因的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 丢掉xml使用JavaConfig配置S
- 下一篇: Spark创建DataFrame的三种方