沒事還是應該多看看官網,今天創建全局臨時視圖怎麼也調用不到,原來有貓膩
Spark SQL中的臨時視圖是會話作用域的,如果創建它的會話終止,它將消失。如果要在所有會話之間共享一個臨時視圖並保持活動狀態,直到Spark應用程序終止,則可以創建全局臨時視圖。全局臨時視圖與系統保留的數據庫相關聯global_temp
,我們必須使用限定名稱來引用它,例如SELECT * FROM global_temp.view1
。
// Register the DataFrame as a global temporary view
df.createGlobalTempView("people")
// Global temporary view is tied to a system preserved database `global_temp`
spark.sql("SELECT * FROM global_temp.people").show()
// +----+-------+
// | age| name|
// +----+-------+
// |null|Michael|
// | 30| Andy|
// | 19| Justin|
// +----+-------+
// Global temporary view is cross-session
spark.newSession().sql("SELECT * FROM global_temp.people").show()
// +----+-------+
// | age| name|
// +----+-------+
// |null|Michael|
// | 30| Andy|
// | 19| Justin|
// +----+-------+
傳送門:
http://spark.apache.org/docs/latest/sql-getting-started.html#global-temporary-view