spark sql的幾種建立方式

2021-09-03 03:31:45 字數 1384 閱讀 3846

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方法不可以...