Spark SQL是處理結構化的資料

2022-08-31 13:27:08 字數 851 閱讀 5553

spark sql是處理結構化的資料,可以儲存在二維表中,類似資料庫中的表一樣儲存資料

spark1.x

val sqlcontext = 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中

val rdd:rdd[person] = ....

//將rdd轉換成dataframe

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

spark2.x

//建立df

val df = spark.createdataframe(rdd[row], schema)

//dsl 和 sql

df.createtempview("v_user")

//執行sql

val result:dataframe = spark.sql("select * from t_user")

//執行action

result.show()

Spark SQL結構化資料處理

spark sql是spark框架的重要組成部分,主要用於結構化資料處理和對spark資料執行類sql的查詢。dataframe是乙個分布式的,按照命名列的形式組織的資料集合。一張sql資料表可以對映為乙個dataframe物件,dataframe是spark sql中的主要資料結構。sqlcont...

什麼是資料的結構化

資料的結構化,就是讓資料彼此之間產生聯絡,發生關係。例如鍊錶就是讓前乙個資料知道自己的前後的資料是什麼。樹就是讓資料知道自己下一層子孫是誰。這就是資料的結構化。通過聯絡有了先後的關係,形成了強關係的集合。而檔案可以看成集合,就是一大堆資料放在裡面,當你為檔案加了序號就是變成了資料結構,因為序號讓他們...

Try Catch結構化異常處理

try.catch.會損耗一定的效能,但不會造成效能瓶頸。建議使用try.catch。盡可能的考慮到可能存在的異常並進行處理,盡可能的少出現異常或不出現異常。不要濫用資料庫事務提高效能,這樣可能會造成併發訪問的效能問題或效能瓶頸。不要使用try.catch進行流程處理。如果可能的話,盡量要把迴圈寫在...