createTempView

用這個 DataFrame 建立一個本地的暫存視圖。

語法

createTempView(name: str)

參數

參數 類型 說明
name str 檢視的名稱。

Notes

這個暫存資料表的壽命與建立此資料框所使用的資料綁定 SparkSession 。 如果該檢視名稱已存在於目錄中,則拋 TempTableAlreadyExistsException出 。

Examples

df = spark.createDataFrame([(2, "Alice"), (5, "Bob")], schema=["age", "name"])
df.createTempView("people")
spark.sql("SELECT * FROM people").show()
# +---+-----+
# |age| name|
# +---+-----+
# |  2|Alice|
# |  5|  Bob|
# +---+-----+

df.createTempView("people")  # doctest: +IGNORE_EXCEPTION_DETAIL
# Traceback (most recent call last):
# ...
# AnalysisException: "Temporary table 'people' already exists;"

spark.catalog.dropTempView("people")
# True
df.createTempView("people")

df1 = spark.createDataFrame([(1, "John"), (2, "Jane")], schema=["id", "name"])
df2 = spark.createDataFrame([(3, "Jake"), (4, "Jill")], schema=["id", "name"])
df1.createTempView("table1")
df2.createTempView("table2")
result_df = spark.table("table1").union(spark.table("table2"))
result_df.show()
# +---+----+
# | id|name|
# +---+----+
# |  1|John|
# |  2|Jane|
# |  3|Jake|
# |  4|Jill|
# +---+----+