sparksql 中 create temporary table as
时间: 2024-04-10 17:26:47 浏览: 361
在 Spark SQL 中,"create temporary table as" 是一种创建临时表的方法。它允许你使用一个查询结果集来创建一个临时表,这个临时表只在当前会话中可见,并在会话结束后自动删除。
下面是一个示例代码:
```scala
val spark = SparkSession.builder()
.appName("Create Temporary Table")
.master("local")
.getOrCreate()
// 创建一个 DataFrame
val data = Seq(("Alice", 25), ("Bob", 30), ("Charlie", 35))
val df = spark.createDataFrame(data).toDF("name", "age")
// 使用 createTempView 方法来创建临时表
df.createOrReplaceTempView("temp_table")
// 使用 createTempViewAs 方法来创建临时表并将查询结果保存到该表中
spark.sql("SELECT name, age FROM temp_table WHERE age > 30").createOrReplaceTempView("temp_table_filtered")
// 查询临时表
spark.sql("SELECT * FROM temp_table_filtered").show()
```
在上面的示例中,首先我们创建了一个 DataFrame,并使用 `createOrReplaceTempView` 方法将其注册为一个临时表。然后,我们使用 `createTempViewAs` 方法将查询结果保存到一个新的临时表中。最后,我们使用 `spark.sql` 方法执行 SQL 查询来检索临时表中的数据。
请注意,临时表只在当前会话中可见,在会话结束后会被自动删除。如果你希望在多个会话之间共享表数据,可以考虑使用全局临时表或永久表。
阅读全文