SQL 语句

Note

对任意的 DataFrame,我们都可以使用 createTempView 创建临时数据表,它的生命周期仅限于 SparkSession 内部。
有了临时表之后,我们就可以使用 SQL 语句灵活地倒腾表数据。

from pyspark.sql import SparkSession

spark = (SparkSession
         .builder
         .appName("use query")
         .config('spark.executor.memory', '1g')
         .config('spark.driver.memory', '2g')
         .config("spark.executor.cores", 1)
         .config('spark.cores.max', 2)
         .getOrCreate())
# 创建一个 DataFrame
df = spark.createDataFrame([("Alice", 18), ("Bob", 20)], ["name", "age"])
# 创建临时表 t1
df.createTempView("t1")
# 使用查询语句
result = spark.sql("select * from t1")
result.show()
+-----+---+
| name|age|
+-----+---+
|Alice| 18|
|  Bob| 20|
+-----+---+