2017-08-02 59 views
0

我试图在连接到Teradata数据库的Airflow中执行SqlSensor任务。将连接配置如下:使用气流JDBC连接连接到Teradata

Connection

我已经提供通过分离特定的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 

我在做什么错?

+0

它似乎没有像“”,https://github.com/apache/incubator-airflow/blob/master/airflow/hooks/jdbc_hook.py#52 – Chengzhi

+0

分隔符是的,它似乎只是在JayDeBeAPI接受Python列表时接受驱动程序路径的一个值。我能怎么做? –

回答

0

我的团队成员提供的解决方案是将两个jar合并成一个jar文件。完成它并在驱动程序路径中指示新的jar文件后,它按预期工作。