2017-08-02 44 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文件後,它按預期工作。