JdbcOperator с Apache Airflow - PullRequest
       2

JdbcOperator с Apache Airflow

0 голосов
/ 21 января 2019

Я пытаюсь написать несколько SQL-операторов в JdbcOperator и не знаю, как использовать шаблон; Или разделитель многих строк SQL. Код ниже говорит TemplateNotFound. Я создал папку "templates" на том же уровне, что и "dags"

sql_task = JdbcOperator(
    task_id='sql_cmd',
    jdbc_conn_id='hive_connection',
    template_searchpath='/etc/dev/airflow/templates',
    sql='all_sql.sql',
    params={"db":'devl_df2_tsa_batch'},
    dag=dag
)

1 Ответ

0 голосов
/ 22 января 2019

Вы можете использовать его следующими способами:

Список :

sql_task = JdbcOperator(
    task_id='sql_cmd',
    jdbc_conn_id='hive_connection',
    template_searchpath='/etc/dev/airflow/templates',
    sql=['select * from table1', 'select * from table2'],
    params={"db":'devl_df2_tsa_batch'},
    dag=dag
)

ИЛИ

Файл SQL

sql_task = JdbcOperator(
    task_id='sql_cmd',
    jdbc_conn_id='hive_connection',
    template_searchpath='/etc/dev/airflow/templates',
    sql=['templates/test1.sql','templates/test2.sql'],
    params={"db":'devl_df2_tsa_batch'},
    dag=dag
)

, где templates/test1.sql, templates/test2.sql файл находится внутри папки dags, и каждый содержит 1 запрос.

...