版本:v3.1.0
azkaban有17张表,分成6类project,scheduler,triggers,executions,executors,sla.
其中project中最为丰富,project包含有什么工程,工程包括哪些工作流,工程更改记录,工程版本记录,以及权限.
*表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内的job之间的关系,一行记录表示一个flow的job的内部关系.
列名 | 解释
-----------|-------------
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
}
内嵌流
{
"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
}