airflow读取配置
时间: 2024-10-15 22:08:03 浏览: 54
Apache Airflow是一款流行的开源平台,用于自动化数据处理工作流程。它使用Python编写,其配置主要包括以下几个方面:
1. **`airflow.cfg`**:这是Airflow的核心配置文件,通常位于项目根目录下。这个文件包含了基础设置如数据库连接、API设置、日志路径等关键信息。
2. **`dags`** 文件夹:每个任务都保存在一个`.py`文件中,这些文件放在`dags`文件夹下。每个DAG(Directed Acyclic Graph,有向无环图)都有其独立的配置,可以在文件顶部通过`default_args`来设置全局默认参数,如调度时间、运行者等。
3. **环境变量**:Airflow也支持从环境变量读取配置,比如AIRFLOW_HOME、SQL_ALCHEMY_CONN等,这使得你可以轻松地在不同的环境中切换配置。
4. **`.env` 文件或外部环境管理工具**:对于敏感信息如密码,推荐使用环境变量管理工具(如`.env`文件)来存储,然后在Airflow启动时加载它们。
为了读取配置,Airflow提供了`BASIC_CONFIG`和`load_config`函数,可以在初始化时自动读取`airflow.cfg`。例如,在创建` DAG`对象时,可以使用`default_args`来引用配置中的值:
```python
from datetime import timedelta
from airflow import DAG
from airflow.config_templates.airflow_local_settings import load_config
# 加载配置
config = load_config()
dag = DAG(
'example_dag',
default_args={
'owner': config['core']['owner'],
'email_on_failure': config.getboolean('smtp', 'email_on_failure'),
'start_date': datetime(2022, 1, 1),
},
schedule_interval=timedelta(hours=1),
)
```
阅读全文