Following are the most used airflow commands.
airflow initdb
Initialize metedatabase of Airflow. Airflow requires a database to be initialized before you can run tasks. If you’re just experimenting and learning Airflow, you can stick with the default SQLite option which comes by default.
airflow resetdb
Remove all the existing data in database, so you can start with fresh new database.
airflow scheduler
Start scheduler to execute dags
airflow webserver
Start webserver and you can access UI to interact with airflow.
airflow list_dags
List all the dags available in dags folder.
$ airflow list_dags
[2020-10-04 09:42:19,268] {__init__.py:50} INFO - Using executor SequentialExecutor
[2020-10-04 09:42:19,268] {dagbag.py:417} INFO - Filling up the DagBag from /Users/krishna/airflow/dags
-------------------------------------------------------------------
DAGS
-------------------------------------------------------------------
tutorial
airflow list_tasks {dag_name}
List all the tasks in a dag.
$ airflow list_tasks tutorial
[2020-10-04 09:43:30,877] {__init__.py:50} INFO - Using executor SequentialExecutor
[2020-10-04 09:43:30,877] {dagbag.py:417} INFO - Filling up the DagBag from /Users/krishna/airflow/dags
print_date
sleep
templated
airflow list_tasks {dag_name} --tree
Print dependenies of tasks in a dag.
$ airflow list_tasks tutorial --tree
[2020-10-04 09:44:56,149] {__init__.py:50} INFO - Using executor SequentialExecutor
[2020-10-04 09:44:56,149] {dagbag.py:417} INFO - Filling up the DagBag from /Users/krishna/airflow/dags
<Task(BashOperator): print_date>
<Task(BashOperator): templated>
<Task(BashOperator): sleep>
‘print_date’ task runs before templated and sleep tasks.
airflow test {dag_name} {task_name} {previous_date}
Test given task.
$airflow test tutorial print_date 2019-05-05
[2020-10-04 09:48:01,280] {__init__.py:50} INFO - Using executor SequentialExecutor
[2020-10-04 09:48:01,281] {dagbag.py:417} INFO - Filling up the DagBag from /Users/krishna/airflow/dags
[2020-10-04 09:48:01,290] {taskinstance.py:670} INFO - Dependencies all met for <TaskInstance: tutorial.print_date 2019-05-05T00:00:00+00:00 [None]>
[2020-10-04 09:48:01,295] {taskinstance.py:670} INFO - Dependencies all met for <TaskInstance: tutorial.print_date 2019-05-05T00:00:00+00:00 [None]>
[2020-10-04 09:48:01,295] {taskinstance.py:880} INFO -
--------------------------------------------------------------------------------
[2020-10-04 09:48:01,295] {taskinstance.py:881} INFO - Starting attempt 1 of 2
[2020-10-04 09:48:01,295] {taskinstance.py:882} INFO -
--------------------------------------------------------------------------------
[2020-10-04 09:48:01,295] {taskinstance.py:901} INFO - Executing <Task(BashOperator): print_date> on 2019-05-05T00:00:00+00:00
[2020-10-04 09:48:01,309] {bash_operator.py:113} INFO - Tmp dir root location:
/var/folders/tp/qybw2qy54t39ffn2l0grsdrc0000gp/T
[2020-10-04 09:48:01,310] {bash_operator.py:134} INFO - Temporary script location: /var/folders/tp/qybw2qy54t39ffn2l0grsdrc0000gp/T/airflowtmpg42m9rr7/print_datepbc72m1d
[2020-10-04 09:48:01,310] {bash_operator.py:146} INFO - Running command: date
[2020-10-04 09:48:01,315] {bash_operator.py:153} INFO - Output:
[2020-10-04 09:48:01,322] {bash_operator.py:157} INFO - Sun Oct 4 09:48:01 IST 2020
[2020-10-04 09:48:01,322] {bash_operator.py:159} INFO - Command exited with return code 0
[2020-10-04 09:48:01,327] {taskinstance.py:1057} INFO - Marking task as SUCCESS.dag_id=tutorial, task_id=print_date, execution_date=20190505T000000, start_date=20201004T041801, end_date=20201004T041801
No comments:
Post a Comment