【问题标题】:Flink SQL SET statements not working in CLIFlink SQL SET 语句在 CLI 中不起作用
【发布时间】:2021-11-01 12:56:44
【问题描述】:

我正在使用 Flink SQL 客户端(Flink 版本 1.13.1)提交我的作业,但是,文档中提到的 SET 语句(https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/table/sql/overview/)给了我解析错误,尝试使用 -i em> 文件选项。

命令:./bin/sql-client.sh 嵌入 -f /tmp/test.sql

错误:

    Flink SQL> -- DEBUGGING
SET 'sql-client.verbose' = 'true';
[ERROR] Could not execute SQL statement. Reason:
org.apache.flink.sql.parser.impl.ParseException: Encountered "\'sql-client.verbose\'" at line 2, column 5.
Was expecting one of:
    <BRACKET_QUOTED_IDENTIFIER> ...
    <QUOTED_IDENTIFIER> ...
    <BACK_QUOTED_IDENTIFIER> ...
    <HYPHENATED_IDENTIFIER> ...
    <IDENTIFIER> ...
    <UNICODE_QUOTED_IDENTIFIER> ...


Shutting down the session...
done.

【问题讨论】:

    标签: apache-flink flink-sql


    【解决方案1】:

    看起来你在 SQL 客户端复制多行,所以复制如下:

    --DEBUGGING
    SET 'sql-client.verbose' = 'true';
    

    SQL 客户端当前不支持此功能。如果删除注释行,您将看到设置已正确执行:

    Flink SQL> SET 'sql-client.verbose' = 'true';
    [INFO] Session property has been set.
    

    【讨论】:

    • 我很确定在 1.13.1 中您需要删除属性和值周围的引号。新引用的语法仅在 1.13.2 IIRC 中引入
    猜你喜欢
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    • 2023-03-30
    • 2012-11-15
    相关资源
    最近更新 更多