【问题标题】:Airflow Oracle Operator气流甲骨文操作员
【发布时间】:2020-01-17 10:37:02
【问题描述】:

我对@9​​87654321@ 很陌生,我正在尝试使用Oracle 运算符执行我的第一个DAG。但是,我收到错误

“无效语法”以及此“airflow.exceptions: dag_id 找不到。dag 不存在或无法解析”

我已将我的dag 放在存在 example_dags (/usr/lib/python2.7/site-packages/airflow/example_dags/my_dag.py) 的同一位置,但不知何故它没有显示在 UI 中,所以我尝试通过给出以下命令来执行

airflow run example_sql_dag task_sql 2020-1-17

以下是我的 oracle dag 的代码:

from datetime import datetime,timedelta

import airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.operators.oracle_operator import OracleOperator

default_args = {
'owner': 'Airflow',
'depends_on_past': False,
'start_date': airflow.utils.dates.days_ago(2),
'start_date': datetime(2020,01,17),   
'email': ['airflow@example.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 0,
'retry_delay': timedelta(minutes=5)
}


with DAG('example_sql_dag',
     default_args=default_args,
     catchup=False,
     schedule_interval='*/10 * * * *'
     ) as dag:
opr_sql = OracleOperator(task_id='task_sql',
                                       oracle_conn_id='Oracle_schema'
                                       sql= 'insert into table1 (a,b,c)values (1,2,3)',
                                               autocommit ='True')

编辑:我尝试通过转到保存文件的位置直接执行 Python 文件并执行此操作:./my_dag.py

但仍然没有运气。这次我得到了 Command not found 错误。可能是脚本有问题。

【问题讨论】:

    标签: oracle airflow operator-keyword


    【解决方案1】:

    您在 DAG 定义中的 oracle_conn_idsql 参数之间缺少一个“,”。 试试:

    opr_sql = OracleOperator(
        task_id='task_sql',
        oracle_conn_id='Oracle_schema',
        sql= 'insert into table1 (a,b,c) values (1,2,3)',
        autocommit ='True')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多