本文为您介绍两种Flink全托管作业开发的方法以及限制。

限制说明

由于Flink全托管产品受部署环境、网络环境等因素的影响,所以开发Flink全托管作业,需要注意以下限制:
  • DataStream或Table API作业
    • 仅支持开源Flink V1.10和Flink V1.11版本。
    • 仅支持JAR形式的作业提交和运行。
    • 仅支持运行单个JAR形式的作业。
    • 不支持在Main函数中读取本地配置。
    • Flink全托管运行环境使用的是JDK1.8,请使用JDK1.8进行作业开发。
  • SQL作业
    • SQL编辑器提交的SQL作业,仅支持开源Flink V1.11版本。
    • SQL支持的上下游存储(Connector)列表,请参见支持的上下游存储

DataStream或Table API作业开发

您需要在线下完成作业开发后,再在Flink全托管控制台上提交作业到集群上运行。您可以参见以下文档开发Flink全托管产品业务代码:

Flink SQL作业开发

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

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

  1. 登录实时计算统一控制台
  2. Flink全托管页签,单击对应工作空间操作列下的开发控制台
  3. 分别注册源表和结果表。您可以通过以下任何一种方式进行。
    • 直接编写完整的建表语句
      1. 在左侧导航栏,单击SQL编辑器
      2. 单击新建文本
      3. 输入源表或结果表DDL语句。
      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列表中,您可以单击表名,查看表的字段和数据类型信息。

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

    如果您需要保存SQL文本,您可以单击保存为SQL文本后,在SQL > SQL列表中查看已保存的SQL文本。