2016-11-03 4 views
0

Я использую этот запросSqoop импорт оракула таблицы запроса метания ошибки

sqoop import \ 
--connect jdbc:oracle:thin:@dbs-dev-vm-3001.cisco.com:1585:WIILDEV \ 
--username MUSERNAME\ 
--password MPASSWORD \ 
--query 'select US_WORKERS_COMPENSATION_CD from wfrapub.cwa_job where FISCAL_YEAR_WK_NUMBER in (select FISCAL_YEAR_WK_NUMBER from wfrapub.CWA_FISCAL_WEEK_TO_YEAR where FISCAL_QTW_FLAG='Y') WHERE $CONDITIONS' \ 
--split-by FISCAL_YEAR_WK_NUMBER \ 
--hive-table WFRAPUB.CWA_JOB2 \ 
--target-dir /tmp/cwa_job2256 

и я получаю эту ошибку говоря -

ERROR manager.SqlManager: Error executing statement: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended 
java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended 
ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter 

Однако, если я урезать запрос к

--query 'select FISCAL_YEAR_WK_NUMBER from wfrapub.CWA_FISCAL_WEEK_TO_YEAR WHERE $CONDITIONS' \' 

Затем импорт импортных операций. Это из-за соединения, которое не обрабатывается в Sqoop? Запрос работает в Toad точно. В чем причина этой синтаксической ошибки?

ответ

2

Ваш запрос, несколько перефразировать, в основном звучит следующим образом:

SELECT stuff FROM table WHERE some_column IN (...subquery...) WHERE ... 

Второй WHERE неправильно. Вместо этого попробуйте следующее:

SELECT stuff FROM table WHERE some_column IN (...subquery...) AND ...