Spark之SparkSql

Posted Mars.wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark之SparkSql相关的知识,希望对你有一定的参考价值。

-- Spark SQL 以编程方式指定模式
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val employee = sc.textFile("/root/wangbin/employee.txt")
1201,satish,25
1202,krishna,28
1203,amith,39
1204,javed,23
1205,prudvi,23
val schemaString = "id,name,age"
import org.apache.spark.sql.Row;
import org.apache.spark.sql.types.{StructType, StructField, StringType};
val schema = StructType(schemaString.split(",").map(fieldName => StructField(fieldName, StringType, true)))
val rowRDD = employee.map(_.split(",")).map(e => Row(e(0), e(1), e(2)))
-- 通过使用roRDDdata和模式(SCHEMA)变量创建DataFrame。
val employeeDF = sqlContext.createDataFrame(rowRDD, schema)
-- 使用以下命令将数据帧存储到名为employee的表中。
employeeDF.registerTempTable("employee2")
-- 使用以下语句从employee表中选择所有记录。
val allrecords = sqlContext.sql("SELECT * FROM employee2")
-- 查看所有记录数据帧的结果数据
allrecords.show()
+----+-------+---+
|  id|   name|age|
+----+-------+---+
|1201| satish| 25|
|1202|krishna| 28|
|1203|  amith| 39|
|1204|  javed| 23|
|1205| prudvi| 23|
+----+-------+---+

 

以上是关于Spark之SparkSql的主要内容,如果未能解决你的问题,请参考以下文章

SparkSql之DataFrame操作

大数据之Spark:Spark SQL

Spark SQL之External DataSource外部数据源源代码分析

工作常用之Spark调优

工作常用之Spark调优一

第三篇:Spark SQL Catalyst源码分析之Analyzer