Spark SQL中 RDD 转换到 DataFrame (方法二)

Posted soyosuyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark SQL中 RDD 转换到 DataFrame (方法二)相关的知识,希望对你有一定的参考价值。

1.people.txt:
soyo8, 35
小周, 30
小华, 19
soyo,88

/*
* * Created by soyo on 17-10-10. * 使用编程方式定义RDD模式 */ import org.apache.spark.sql.types._ import org.apache.spark.sql.{Row, SparkSession} object RDD_To_DataFrame2 { def main(args: Array[String]): Unit = { val spark=SparkSession.builder().getOrCreate() val peopleRDD=spark.sparkContext.textFile("file:///home/soyo/桌面/spark编程测试数据/people.txt") val schema_S="name age" val fields=schema_S.split(" ").map(x=>StructField(x,StringType,nullable = true)) //生成模式 val schema=StructType(fields) val rowRDD=peopleRDD.map(_.split(",")).map(x=>Row(x(0),x(1).trim)) val peopleDF=spark.createDataFrame(rowRDD,schema) peopleDF.createOrReplaceTempView("people2") val results=spark.sql("select * from people2") results.show() results.groupBy("age").count().show() } }

结果:
+-----+---+
| name|age|
+-----+---+
|soyo8| 35|
|   小周| 30|
|   小华| 19|
| soyo| 88|
+-----+---+

+---+-----+
|age|count|
+---+-----+
| 30|    1|
| 35|    1|
| 19|    1|
| 88|    1|
+---+-----+



 






























以上是关于Spark SQL中 RDD 转换到 DataFrame (方法二)的主要内容,如果未能解决你的问题,请参考以下文章

11.spark sql之RDD转换DataSet

Spark学习 Spark SQL

如何在火花中将rdd对象转换为数据框

spark-sql将Rdd转换为DataFrame进行操作的两种方法

Spark学习记录:Spark SQL编程

08Spark常用RDD变换