本文为您介绍Flink SQL作业开发的限制说明和操作流程。

前提条件

已创建EMR-3.30.0版本的Dataflow集群,详情请参见创建集群

限制说明

  • SQL编辑器提交的SQL作业,仅支持开源Flink V1.11版本。
  • SQL支持的上下游存储(Connector)列表,请参见支持的上下游存储

开发流程

为了方便您编写和管理Flink SQL作业,提高作业开发效率,Flink-Vvp为您提供Flink SQL的全套功能,包括元数据管理、UDF注册和SQL编辑器等。

在开发控制台上,Flink SQL作业开发流程为:注册表 > 编写SQL语句 > 运行 > 验证。

  1. 登录Flink-Vvp控制台,详情请参见访问Flink-Vvp的Web UI
  2. 分别注册源表和结果表。您可以通过以下任何一种方式进行。
    • 直接编写完整的建表语句
      1. 在左侧导航栏,单击SQL图标。
      2. 单击新建文本
      3. 输入源表或结果表DDL语句。
        创建SQL示例如下。
        CREATE TEMPORARY table datahub_source(
          name VARCHAR
        ) WITH (
          'connector' = 'datagen'
        );
        
        CREATE TEMPORARY table blackhole_sink(
          name  VARCHAR
        ) with (
          'connector' = 'blackhole'
        );
        
        INSERT INTO blackhole_sink
        SELECT
          LOWER(name)
        from datahub_source;
      4. 单击验证
      5. 单击运行

        注册成功的表会出现在SQL编辑器左侧的Tables列表中,您可以单击表名,查看表的字段和数据类型信息。

    • 根据目标Connector语句模板修改定义
      1. 在左侧导航栏上,单击SQL图标。
      2. 单击Schemas页签。
      3. 单击Tables所在行的创建表图标。
      4. 单击目标Connector。
        相关建表语句就会出现在SQL编辑器中。建表语句
      5. 在文本编辑框中,修改Schema和WITH参数。
        说明 如果您的SQL需要使用UDF,您需要先注册您的UDF,才能在SQL中使用,注册UDF的操作请参见管理自定义函数(UDF)
      6. 单击验证
      7. 单击运行

        注册成功的表会出现在SQL编辑器左侧的Tables列表中,您可以单击表名,查看表的字段和数据类型信息。

  3. Scripts页签,单击新建文本
  4. 根据业务逻辑,编写SQL语句。
    简单的逻辑为:INSERT INTO 结果表 SELECT XXX FROM 源表;
    说明 您可以为DDL和DML语句分别新建文本框,也可以在源表和结果表DDL定义语句中直接使用CREATE TEMPORARY TABLE关键字,将DDL和DML写在同一个文本,以简化操作。
  5. 单击保存,输入文本名称后,单击确认
  6. 单击验证
    在SQL编辑页面下方,您可以看到SQL语法校验结果,只有通过校验的SQL才能被运行。
  7. 单击运行
  8. 在弹出的对话框中,单击确定作业部署
    系统对于含有INSERT INTO关键字的DDL文本,会默认创建一个Flink SQL作业。单击确定后,会自动跳转到作业配置页面。详情请参见作业提交