getStreamGraphInfo

语法

getStreamGraphInfo([name])

参数

name 可选参数,字符串标量,表示流图的名字。可以传入完整的流图全限定名(如 catalog_name.orca_graph.graph_name),也可以仅提供流图名(如 factors);系统会根据当前的 catalog 设置自动补全为对应的全限定名。

详情

返回指定流图的元信息。如果未指定 name,则返回所有流图的元信息。

返回结果为一个表,包含以下字段:

  • id:流图 id
  • fqn:该流图的全限定名
  • graph:流图的结构,JSON 格式:
    • version:流图结构的版本号,预防因版本升级引发的兼容性问题。
    • nodes:流图中的节点,包括以下结构:
      • id:节点 id
      • subgraphId:所属子图 id
      • taskid:流任务 id
      • parallelism:
        • keyName:划分并行任务的列名
        • count:并行任务数量
      • properties:节点的属性
      • inEdges:入边的 id 列表
      • outEdges:出边的 id 列表
    • edges:流图中的边,包括以下结构:
      • id:边 id
      • inNodeId: 入节点 id
      • outNodeId:出节点 id
      • partitionType:
        • FORWARD:将上游数据直接发送给下游
        • NESTED:将上游数据按照上下游并行度的嵌套关系分发给下游
        • SHUFFLE:将上游数据重新合并成一组数据后按照并行度分发给下游
      • filter:该边的过滤条件
      • handlers:处理上游数据的函数列表,系统将合并这些函数组成 subscribeTablehandler 参数
    • config:流图的全局配置
  • meta:流图的调度元信息,JSON 格式:
    • id:流图 id
    • status:流图运行状态,可能的值包括:
      • building:流图已调度完毕,正在构建中。
      • running:流图构建完毕,正常运行,可以提供服务。
      • error:遇到可恢复故障(如节点 OOM),系统将重新调度此流图的任务。
      • failed:遇到不可恢复故障(如用户脚本逻辑有误),系统将保留现场,供后续分析。
      • destroying:流图正在销毁。
      • destroyed:流图已经销毁。
    • semantics:一致性语义,可选值为:
      • exactly-once:精确执行一次
      • at-least-once:至少执行一次
    • tasks:流任务的调度信息
    • createTime:创建时间
    • reason:状态转移的原因

例子

getStreamGraphInfo("streamGraph1") // name 是流图名称
getStreamGraphInfo("catalog1.orca_graph.streamGraph1") // name 是全限定名