本文为您介绍如何创建Flink_SQL类型的计算任务。

背景信息

新建Flink_SQL计算任务的权限限制,详情请参见数据开发权限列表

项目绑定了Flink计算源,即可新建Flink_SQL任务。Flink_SQL任务支持处理离线与实时计算数据。

新建的Flink_SQL任务默认开启实时模式,即只处理实时计算任务。您可以手动开启离线模式,处理离线计算任务。同时,Flink_SQL任务支持处理离线和实时任务。

步骤一:新建Flink_SQL任务

  1. 登录Dataphin控制台
  2. 在Dataphin控制台页面,选择工作区地域后,单击进入Dataphin>>
    您可以通过以下方式,快速进入数据开发模块:
    • 单击快速开始相关工作区域的数据研发
    • 单击快速进入研发项目区域的DevBasic项目,选择开发数据的项目空间。
    说明
    • 如果您通过快速开始相关工作进入数据开发模块,则跳过步骤3。
    • 如果您通过快速进入研发项目进入数据开发模块,则跳过步骤3和4。
  3. 在Dataphin首页,单击顶部菜单栏研发
  4. 在数据开发页面,单击项目名称后的test图标后,单击DevBasic页签,选择数据开发的项目空间。
    如果您当前访问的是DevBasic项目,且项目空间为您的数据开发空间,则无需选择项目空间。
  5. 在数据开发页面,单击数据处理
    如果进入数据开发页面后,系统默认进入数据处理页签,则无需再次单击数据处理
  6. 数据处理页签,单击左侧导航栏agaga计算任务图标。
  7. 新建Flink_SQL计算任务。
    1. 计算任务页面,进入新建Flink_SQL对话框。
      • 单击计算任务后的图标,选择FLINK任务 > FLINK__SQL
      • 单击项目名称后的图标,选择数据处理 > 计算任务 > FLINK_SQL
      • 开发首页,单击任务研发区域的FLINK_SQL后的图标。
    2. 新建Flink_SQL对话框,配置参数。
      参数 说明
      名称 计算任务的名称。 名称支持由小写英文字母、数字、下划线(_)组合组成。名称的限制如下:
      • 名称的长度范围为3~62个字符。
      • 项目内的名称不允许重复。
      • 名称仅支持以英文字母开头。
      选择目录 计算任务所属的目录。
      资源队列 选择该项目所绑定实时计算源中的资源队列。
      引擎版本 选择当前资源队列所支持的版本。
    3. 单击确定

步骤二:开发Flink_SQL任务的代码

  1. 在Flink_SQL任务代码页面,编写任务的代码。
    您可以单击页面右上方的格式化,系统自动调整SQL代码格式。
  2. 单击页面右上方的预编译,校验代码任务的语法及权限问题。

步骤三:配置资源

配置Flink_SQL任务中的资源信息。

  1. 在Flink_SQL任务代码开发页面,单击页面上方的定向配置
  2. 定向配置面板的资源配置区域,您可以执行以下操作。
    • 配置资源配置类型,默认选择为系统推荐配置。您可以选中自定义配置后,单击去配置,配置参数。
      模式 描述
      可视化配置 您可以配置资源组节点和组件节点的执行参数。
      配置资源组节点的执行参数:
      1. 在配置资源类型页面,单击可视化模式
      2. 单击资源组上方的图标。
      3. 在对话框中,配置参数。
      4. 单击确定,完成资源组的执行参数的配置。
      5. 完成配置DAG图中所有资源组节点的执行参数后,单击页面右上角的保存
      配置资源组中组件节点的执行参数:
      1. 在配置资源类型页面,单击可视化模式
      2. 单击资源组上方的test图标,展开该组。
      3. 单击节点右上角的图标。
      4. 在对话框中,配置参数。
      5. 单击确定,完成组件节点执行参数的配置。
      6. 完成配置DAG图中所有资源组节点的执行参数后,单击页面右上角的保存
      代码模式 配置资源组节点和组件节点的执行参数:
      1. 在配置资源类型页面,单击代码模式
      2. 根据代码页面提示,定义资源组和组件节点的执行参数,单击页面右上角的保存
    • 如果资源配置类型自定义配置,则单击资源信息记录后的保存当前配置为新纪录。在保存资源记录对话框中,输入资源记录名称后,单击确定
      对已有的资源信息记录,您可以执行以下操作。
      操作 描述
      查看版本信息 单击某个记录操作列下的tesga图标,查看版本信息。
      启用记录
      1. 单击某个记录的操作列下的taga图标。
      2. 提示对话框中,单击确定
      删除记录
      1. 单击某个记录操作列下的teag图标。
      2. 提示对话框中,单击确定
    • 打开自动调优开关,配置最大CU数期望最大内存,开启自动调优。

步骤四:配置依赖关系

  1. 在Flink_SQL任务代码开发页面,单击页面上方的定向配置
  2. 定向配置面板的依赖关系区域,配置依赖关系。
    fa'ga'gfagag
    参数 描述
    自动解析 当节点的任务类型为SQL时,您可以单击自动解析,系统会解析代码中的表,并查找到与该表名相同的输出名称。输出名称所在的节点作为当前节点的上游依赖。
    如果代码中引用项目变量或不指定项目,则系统默认解析为生产项目名,以保证生成调度的稳定性。例如,开发项目名称为onedata_dev
    • 如果代码里指定select * from s_order,则调度解析依赖为onedata.s_order
    • 如果代码里指定select * from ${onedata}.s_order,则调度解析依赖为onedata.s_order
    • 如果代码里指定select * from onedata.s_order,则调度解析依赖为onedata.s_order
    • 如果代码里指定select * from onedata_dev.s_order,则调度解析依赖为onedata_dev.s_order
    上游依赖 通过执行如下操作,添加该节点任务调度时依赖的上游节点:
    1. 单击手动添加上游
    2. 新建上游依赖对话框中,您可以通过以下两种方式搜索依赖节点:
      • 输入所依赖节点的输出名称的关键字进行搜索节点。
      • 输入virtual搜索虚拟节点(每个租户或企业在初始化时都会有一个根节点)。
      说明 节点的输出名称是全局唯一的,且不区分大小写。
    3. 单击确定新增
    同时您还可以单击操作列下的fagaga图标,删除已添加的依赖节点。
    当前节点 通过执行如下操作,设置当前节点的输出名称,根据需要您可以设置多个输出名称,供其他节点依赖使用:
    1. 单击手动添加输出
    2. 新增当前节点输出对话框中,填写输出名称。输出名称的命名规则请尽量统一,一般命名规则为生成项目名.表名且不区分大小写,以标识本节点产出的表,同时其他节点更好地选择调度依赖关系。

      例如,开发项目名称为onedata_dev,建议将输出名称设置为onedata.s_order。如果您将输出名称设置为onedata_dev.s_order,则仅限代码select * from onedata_dev.s_order能解析出上游依赖节点。

    3. 单击确定新增
    同时您还可以对当前节点已添加的输出名称执行如下操作:
    • 单击操作列下的fagaga图标,删除已添加的输出名称。
    • 如果该节点已提交或已发布,且被任务所依赖(任务已提交),则单击操作列下的图标,查看下游节点。

步骤五:配置任务参数

Flink_SQL任务代码中的通用参数,您可以通过任务参数进行批量配置。

  1. 在Flink_SQL任务代码开发页面,单击页面上方的定向配置
  2. 定向配置面板,任务参数配置区域,配置参数。

步骤六:提交或发布Flink_SQL任务

  1. 在Flink_SQL任务代码开发页面,单击页面右上方的test图标,保存Flink_SQL任务。
  2. 在Flink_SQL任务代码开发页面,单击页面右上方的taga图标,提交Flink_SQL任务。
  3. 提交备注对话框,填写备注信息。
  4. 单击确定并提交,完成Flink_SQL任务的提交。
  5. 可选:发布Flink_SQL任务至生产环境。
    • 如果您的开发模式是Dev-Prod模式,则需要发布实时计算任务,详情请参见管理发布任务
    • 如果您的开发模式是Basic模式,则提交成功的实时计算任务,即可进入生产环境。

(可选)调度配置

如果计算任务您已开启离线模式,则需要配置调度参数。完成调度参数配置后再提交Flink_SQL任务。

  1. 在Flink_SQL任务代码开发页面,单击页面上方的定向配置
  2. 定向配置面板的离线模式页签的调度配置区域,配置任务的调度参数。
    gagaga
    参数 描述
    时间属性 选择时间属性时间属性包括:
    • 正常调度:按照调度周期的时间配置调度,并正常执行,通常任务默认选中该项。
    • 空跑调度:按照调度周期的时间配置调度,但都是空跑执行,即一调度到该任务便直接返回成功,没有真正的执行任务。
    暂停调度 暂停调度选择后,即可暂停该任务的调度,会按照下面的调度周期时间配置调度,但是一旦调度到该任务会直接返回失败,不会执行。通常用于某个任务暂时不用执行,但后面还会继续使用的场景。
    调度周期 调度周期可选择小时分钟
    • 调度,即调度任务每天自动运行一次。新建周期任务时,系统默认的时间周期为每天0点运行一次。您可以根据需要,单击图标,指定运行的时间点。
    • 调度,即调度任务每周的特定几天,在特定时间点自动运行一次。您可以根据需要,单击图标,指定运行的时间点。

      如果您没有指定日期,为保证下游实例正常运行,系统会生成实例后直接设置为运行成功,而不会真正执行任何逻辑,也不会占用资源。

    • 调度,即调度任务在每月的特定几天,在特定时间点自动运行一次。您可以根据需要,单击图标,指定运行的时间点。

      如果在没有被指定的日期时,为保证下游实例正常运行,系统会每天生成实例后直接设置为运行成功,而不会真正执行任何逻辑,也不会占用资源。

    • 小时调度,即每天指定的时间段内,调度任务按间隔时间数的时间间隔运行一次。或选择指定的时间点,调度系统会自动为任务生成实例并运行。您可以根据业务需求选中时间段时间点
      • 如果您选中了时间段,您可以单击开始结束后的图标,指定运行的开始和结束时间。同时您可以单击间隔后的test图标,在下拉列表中选择间隔时间。
      • 如果您选中了时间点,单击下拉列表框,在下拉列表中选择时间点。

      例如,每天00:00~23:59的时间段内,每隔1小时会自动调度一次,因此调度系统会自动为任务生成实例并运行。

    • 分钟调度,即每天指定的时间段内,调度任务按间隔时间数的时间间隔运行一次。 您可以单击开始结束后的图标,指定运行的开始和结束时间。同时您可以单击间隔后的test图标,在下拉列表中选择间隔时间。
    依赖上周期 根据业务场景分析是否需要选中依赖上周期。如果您选择,则需要选择依赖上个调度周期的节点:
    • 如果您选择了当前,则表示依赖当前节点的上个调度周期。
    • 如果您选择了自定义,则需在输入框中输入依赖上周期节点的名称关键字进行搜索节点。
    优先级 选择任务参与调度的优先级。优先级包括:
    • 最低优先级
    • 低优先级
    • 中等优先级
    • 高优先级
    • 最高优先级
    参数配置 您可以对代码中所用参数的具体赋值。单击节点参数配置说明,查看Dataphin调度系统的配置规则及支持配置的时间参数。
  3. 单击确定