azkaban 數(shù)據(jù)庫設計

版本:v3.1.0
azkaban有17張表,分成6類project,scheduler,triggers,executions,executors,sla.
其中project中最為豐富,project包含有什么工程,工程包括哪些工作流,工程更改記錄,工程版本記錄,以及權(quán)限.

*表project_properties
用于存儲project下所有任務的屬性,比如noop/last.job

type=noop
dependencies=first1,first2,first3

存儲在project_properties就會形成

       project_id|version|name           |modified_time   |encoding_type|property
       -------------|----------|----------------|---------------------|--------------------|-----------   
                33|         8    |noop/last.job |1483669665276|                       2|      {"type":"noop","dependencies":"first1,first2,first3"}
  • 表project_flows
    用于存儲project中的所有flow內(nèi)的job之間的關系,一行記錄表示一個flow的job的內(nèi)部關系.
    列名 | 解釋
    -----------|-------------
    project_id | 標識
    version | 版本號
    flow_id | flow唯一標識
    modified_time |修改時間
    encoding_type | 存儲格式(GZIP|PLAIN)
    json|dag關系
    json存儲類型是blob,以下我解析出來的例子:
{
    "metadata":{

    },
    "project.id":33,
    "nodes":[
        {
            "layout":{
                "level":1
            },
            "propSource":null,
            "jobSource":"noop/last.job",
            "expectedRuntime":1,
            "id":"last",
            "jobType":"noop"
        },
        {
            "layout":{
                "level":0
            },
            "propSource":null,
            "jobSource":"noop/first3.job",
            "expectedRuntime":1,
            "id":"first3",
            "jobType":"command"
        },
        {
            "layout":{
                "level":0
            },
            "propSource":null,
            "jobSource":"noop/first2.job",
            "expectedRuntime":1,
            "id":"first2",
            "jobType":"command"
        },
        {
            "layout":{
                "level":0
            },
            "propSource":null,
            "jobSource":"noop/first1.job",
            "expectedRuntime":1,
            "id":"first1",
            "jobType":"command"
        }
    ],
    "edges":[
        {
            "source":"first2",
            "target":"last"
        },
        {
            "source":"first1",
            "target":"last"
        },
        {
            "source":"first3",
            "target":"last"
        }
    ],
    "failure.email":[

    ],
    "success.email":[

    ],
    "id":"last",
    "type":"flow",
    "version":7,
    "mailCreator":"default",
    "props":[

    ],
    "layedout":false
}

內(nèi)嵌流

{
    "metadata":{

    },
    "project.id":3,
    "nodes":[
        {
            "layout":{
                "level":1
            },
            "propSource":null,
            "jobSource":"longDemo/flow3.job",
            "expectedRuntime":1,
            "id":"flow3",
            "jobType":"command"
        },
        {
            "layout":{
                "level":0
            },
            "propSource":null,
            "embeddedFlowId":"long",
            "jobSource":"longDemo/nextflow.job",
            "expectedRuntime":1,
            "id":"nextflow",
            "jobType":"flow"
        }
    ],
    "edges":[
        {
            "source":"nextflow",
            "target":"flow3"
        }
    ],
    "failure.email":[

    ],
    "success.email":[

    ],
    "id":"flow3",
    "type":"flow",
    "version":8,
    "mailCreator":"default",
    "props":[

    ],
    "layedout":false
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容