Airflow元數據錶dag介紹

chenzuoli 2022-01-07 12:09:49 阅读数:137

airflow dag

標題: Airflow元數據錶dag介紹
日期: 2021-11-13 09:37:09
標簽: [airflow, dag]
分類: 調度系統

大家好,我是Lee。

上次介紹了airflow的元數據錶log,裏面的主要字段event是幹嘛的,怎麼識別手動操作和系統操作,今天就說下dag錶中的一些字段,是什麼意思,該怎麼用。

dog

我使用的airflow是1.10.14版本。

先看下錶結構:

Field Type Null Key Default Extra
dag_id varchar(250) NO PRI
is_paused tinyint(1) YES
is_subdag tinyint(1) YES
is_active tinyint(1) YES
last_scheduler_run timestamp(6) YES
last_pickled timestamp(6) YES
last_expired timestamp(6) YES
scheduler_lock tinyint(1) YES
pickle_id int(11) YES
fileloc varchar(2000) YES
owners varchar(2000) YES
description text YES
default_view varchar(25) YES
schedule_interval text YES
root_dag_id varchar(250) YES MUL
  1. dag_id: dag的唯一標識,也是這個錶的主鍵;

  2. is_paused: 錶示這個dag是否是開啟狀態,1錶示開啟,0錶示關閉,關閉狀態,scheduler不會調度該dag;

  3. is_subdag: 錶示這個dag是否是一個subdag。airflow中有dag包含的概念,我們可以新建一個dag,然後把其他的dag也包含進來,作為自己的其中一個子dag(一個task),子dag會依賴父dag的運行參數,但是子dag也會在元數據庫中新建一個dag,dag名字為parent_dag_id.child_dag_id,並且字段root_dag_idparent_dag_id,我們可以看下圖:
    subdag

  4. is_active: 錶示這個dag是否存在,=0代錶這個dag文件之前存在過,現在已經被删除了。

  5. fileloc: 錶示這個dag對應的文件所在比特置;

  6. owners: 這個dag的屬主,我們在定義dag文件的時候,有個owner參數可以使用:

default_args = {
'owner': 'chenzuoli',
'depends_on_past': False,
'start_date': datetime(2018, 12, 24),
'email': ['[email protected]'],
'email_on_failure': True,
'email_on_retry': False,
'retries': 3,
'retry_delay': timedelta(minutes=5),
'sla': timedelta(seconds=30),
'catchup' : False
}
dag = DAG(
dag_id,
default_args=default_args,
schedule_interval='10 0 * * *',
catchup=False)
  1. description: 是dag的描述,我們可以在定義dag的時候指定,相當於dag的中文注釋;
  2. schedule_interval: 是dag的調度時間,我們可以使用crontab錶達式進行描述,也可以使用airflow可識別的參數,如下:
{
'@hourly': '0 * * * *',
'@daily': '0 0 * * *',
'@weekly': '0 0 * * 0',
'@monthly': '0 0 1 * *',
'@quarterly': '0 0 1 */3 *',
'@yearly': '0 0 1 1 *',
'@once': 一次,
'none': 無
}
  1. root_dag_id: 如果dag為subdag,那麼這個字段就是subdag對應的父dag;

好了,其他字段用得少,基本不用介紹。

下期帶大家看跟dag定義相關的錶dag_run,它類似我們面向對象中的類的實例,而dag錶就是類的定義。

下期再見。


書山有路勤為徑,學海無涯苦作舟。

歡迎關注我的微信公眾號,比較喜歡分享知識,也喜歡寵物,所以做了這2個公眾號:
程序員寫書

喜歡寵物的朋友可以關注:【電巴克寵物Pets】
電巴克寵物

一起學習,一起進步。

版权声明:本文为[chenzuoli]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201071209489174.html