更新时间:2024-08-16 GMT+08:00

配置Flink SQL Client支持SQL校验功能

本章节适用于MRS 3.3.0及以后版本。

配置Flink SQL Client支持SQL校验功能方法

通过SQL Client进行SQL作业开发时,支持进入校验模式校验SQL语法正确性。校验模式下执行SQL命令不会启动Flink job。

  • 校验SQL语句
    • 执行SQL shell命令时添加“-v”参数(或“--validate”参数)直接进入校验模式。

      sql-client.sh -v

    • 执行SQL shell命令时通过SET命令进入或退出校验模式。
      • 进入校验模式:SET table.validate = true;
      • 退出校验模式:SET table.validate = false;
  • 校验SQL脚本

    当使用“-f”参数指定SQL脚本时,可添加“-v”参数进入校验模式。

    sql-client.sh -f test.sql -v

使用FlinkSQL Client提交作业

  1. 安装集群客户端,例如安装目录为“/opt/hadoopclient”。
  2. 以客户端安装用户,登录安装客户端的节点。
  3. 执行以下命令,切换到客户端安装目录。

    cd /opt/hadoopclient

  4. 执行如下命令初始化环境变量。

    source /opt/hadoopclient/bigdata_env

  5. 进入FlinkSQL Client并提交作业。

    1. 参考Flink客户端使用实践启动yarn-session,并记录yarn-session ID(yid)。

      yarn-session.sh -nm "session-name"

    2. 执行以下命令进入FlinkSQL Client。

      cd /opt/hadoopclient/Flink/flink/bin

      ./sql-client.sh

      图1 进入FlinkSQL Client
    3. 设置“high-availability.cluster-id”为yarn-session ID。

      SET high-availability.cluster-id=yarn-session ID;

    1. 执行以下SQL语句,执行成功后控制台显示如下:

      SELECT name, COUNT(*) AS cnt FROM ( VALUES ('Bob'), ('Alice'), ('Greg'), ('Bob') ) AS NameTable(name) GROUP BY name;

      图2 执行结果
    2. 可在Yarn上查看执行的任务。

      登录FusionInsight Manager页面,选择“集群 > 服务 > Yarn > 概览”,单击“ResourceManager WebUI”后面对应的链接,进入Yarn的WebUI页面,查看对应任务。

      图3 作业任务