spark 1.x
//spark sql 用來處理結構化資料
類似資料庫中的表一樣儲存資料
spark1.x
val sc =new sparkcontext(conf)
val sqlcontext=new sqlcontext(sc)
//將rdd和schema資訊關聯到一起,
1.rdd和case class
2.rdd和structtype
//case class person將rdd中的資料轉換成case class 屬性相對應的型別,然後設定到case class中
3.val rdd:rdd[person]=...
//將rdd轉換成dataframe
4.val df =rdd.todf
//對df進行操作(1.直接使用dataframe上的運算元dsl. 2寫sql)
//將df註冊成臨時表
df.registertemptable("t_person")
//執行sql
val result :dataframe=sqlcontext.sql("select * from t_person ...")
result.show()
spark 2.x
val spark=sparksession.builder()
.master("local[*]")
.getorcreat()
//建立df
val df =spark.createdataframe(rdd[row],schema)
//dsl 和sql
df.createtempview("v_user")
//執行sql
val result :dataframe=spark.sql("select * from v_user")
//執行action
result.show()
dataset也是乙個分布式資料資料集
val spark=sparksession.builder()
.master("local[*]")
.getorcreate()
val lines =spark.read.textfile("hdfs://...")
val words =lines.flatmap(_.split(" "))
//dsl
val df =words.groupby($("value") as "word").agg(count("*") as "counts").sort($"counts" desc)
df.show()
建立物件的幾種方式
原文章 var person new object person.name kevin person.age 31 alert person.name alert person name alert person.name alert person 5 返回帶有屬性和方法的person物件 func...
建立物件的幾種方式
var person new object person.name lisi person.age 21 person.family lida lier wangwu person.say function var person 以上兩種方法在使用同一介面建立多個物件時,會產生大量重複 為了解決此問...
建立執行緒的幾種方式
thread,runnable,callable runnable和callable的區別是,1 callable規定的方法是call runnable規定的方法是run 2 callable的任務執行後可返回值,而runnable的任務是不能返回值得 3 call方法可以丟擲異常,run方法不可以...