1. 程式人生 > >Spark之SparkSql

Spark之SparkSql

.text string pac mit lec ddd style show gist

-- 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