【发布时间】:2018-01-09 01:49:20
【问题描述】:
我正在尝试使用与 Teradata 数据库的连接在 Airflow 中执行 SqlSensor 任务。连接配置如下:
我特别提供了 2 个以“,”分隔的驱动程序路径,但我不确定这是否是正确的做法?
/home/airflow/java_sample/tdgssconfig.jar
/home/airflow/java_sample/terajdbc4.jar
DAG 执行时,会触发错误信息
[2017-08-02 02:32:45,162] {models.py:1342} INFO - Executing <Task(SqlSensor): check_running_batch> on 2017-08-02 02:32:12
[2017-08-02 02:32:45,179] {base_hook.py:67} INFO - Using connection to: jdbc:teradata://myservername.mycompanyname.org/database=MYDBNAME,TMODE=ANSI,CHARSET=UTF8
[2017-08-02 02:32:45,313] {sensors.py:109} INFO - Poking: SELECT BATCH_KEY FROM MYDBNAME.AUDIT_BATCH WHERE BATCH_OWNER='ARO_TEST' AND AUDIT_STATUS_KEY=1;
[2017-08-02 02:32:45,316] {base_hook.py:67} INFO - Using connection to: jdbc:teradata://myservername.mycompanyname.org/database=MYDBNAME,TMODE=ANSI,CHARSET=UTF8
[2017-08-02 02:32:45,497] {models.py:1417} ERROR - java.lang.RuntimeException: Class com.teradata.jdbc.TeraDriver not found
我做错了什么?
【问题讨论】:
-
是的,它似乎只接受驱动程序路径的一个值,而 JayDeBeAPI 接受 Python 列表。我该怎么办?
-
您必须删除 , 分隔符后的空格。例如:path/a.jar,path/bjar ...否则第二个jar路径以空格开头,气流将找不到...