Ошибка ParseException от apache spark sql - PullRequest
0 голосов
/ 07 июня 2018

У меня есть следующий код Spark SQL:

select f.typ_fact  c
case   when month(f.dat_valid) in (1,2,3) then 'Q1'
        else month(f.dat_valid) in (4, 5, 6) then 'Q2'
        else month(f.dat_valid) in (7, 8, 9) then 'Q3'
        else 'Q4'
end as quarter_valid,

Но я получаю следующее исключение, сообщающее о несовпадении ввода.

    org.apache.spark.sql.catalyst.parser.ParseException: 
    mismatched input 'isnull' expecting {<EOF>, ',', 'FROM', 'WHERE', 'GROUP', 'ORDER', 'HAVING', 'LIMIT', 'LATERAL', 'WINDOW', 'UNION', 'EXCEPT', 'MINUS', 'INTERSECT', 'SORT', 'CLUSTER', 'DISTRIBUTE'}(line 1, pos 17)

    == SQL ==
    select case when isnull('2018-02-01') in (1,2,3) then 'Q1'
    -----------------^^^
                else ("2018-02-01") in (4, 5, 6) then 'Q2'
                else ("2018-02-01") in (7, 8, 9) then 'Q3'
                else 'Q4'
    end as quarter_valid

        at org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:217)
        at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:114)
        at org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:48)
        at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:68)
        at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:623)
        at org.apache.spark.sql.SQLContext.sql(SQLContext.scala:691)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...