相关疑难解决方法(0)

环境变量中的气流配置不起作用

我尝试使用ENV变量来配置连接URL,我有一个预先配置有alchemy_conn和broker_url等的ami,我已经将环境变量写入从/ ams实例中的/ etc / environment中,以覆盖airflow.cfg中的属性。文件。我也能够从python代码访问变量。

但是它在运行ariflow时似乎没有生效,也尝试重新启动该过程但没有用,它仍然指向airflow.cfg文件中的那个

environment-variables airflow airflow-scheduler

3
推荐指数
1
解决办法
2865
查看次数

在运行时在 Airflow 运算符中创建和使用连接

注意:这不是重复的


我必须从我的Airflow DAG. 实现这一目标的直接方法是SSHHook.

问题在于远程系统是一个EMR集群,它本身是在运行时(由上游任务)使用EmrCreateJobFlowOperator. 因此,虽然我可以掌握job_flow_id已启动的 EMR 集群(usingXCOM),但我需要的是将 anssh_conn_id传递给每个下游任务。


查看文档代码,很明显 Airflow 将尝试conn_iddb环境变量中查找此连接(使用),因此现在问题归结为能够在运行时设置这两个属性中的任何一个(从内部一个operator)。

这似乎是一个相当普遍的问题,因为如果无法实现,那么 的效用EmrCreateJobFlowOperator将受到严重阻碍;但我还没有遇到任何证明它的例子。


  • 是否可以从 Airflow 操作员内部创建(并销毁)其中任何一个?
    1. 连接(保留在 Airflow 的数据库中)
    2. 环境变量(应该可供所有下游任务访问,而不仅仅是此处所述的当前任务)
  • 如果没有,我有什么选择?

我上线了

  • Airflow v1.10
  • Python 3.6.6
  • emr-5.15 (如果需要可以升级)

airflow

3
推荐指数
1
解决办法
9483
查看次数