如何使用 CTE 在 Spark SQL 中创建临时视图?

Luc*_*eca 2 apache-spark apache-spark-sql

我尝试使用 with 语句在 Spark SQL 中创建临时视图:

create temporary view cars as (
    with models as (
       select 'abc' as model
    )
    select model from models
)
Run Code Online (Sandbox Code Playgroud)

但抛出这个错误:

error in SQL statement: ParseException: 
mismatched input 'with' expecting {'(', 'SELECT', 'FROM', 'DESC', 'VALUES', 'TABLE', 'INSERT', 'DESCRIBE', 'MAP', 'MERGE', 'UPDATE', 'REDUCE'}(line 2, pos 8)

== SQL ==
create temporary view cars as (
        with models as (
--------^^^
           select 'abc' as model
        )
        select model from models
    )
Run Code Online (Sandbox Code Playgroud)

mat*_*rek 6

删除第一个as之后的括号使其工作:

create temporary view cars as 
with models as (
   select 'abc' as model
)
select model from models
Run Code Online (Sandbox Code Playgroud)