2014-01-10 3 views
0

Я пытаюсь экспортировать данные из текстового файла hdfs в SQL Server с использованием sqoop. Когда у меня есть больше, чем пару строк, чтобы вставить его бросает следующее исключение:Экспорт Sqoop из hdfs в SQL Server 2005 с использованием драйвера jdts не работает

java.io.IOException: java.sql.SQLException: Incorrect syntax near ','. 
    at org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.close(AsyncSqlRecordWriter.java:192) 
    at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.close(MapTask.java:567) 
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:675) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:330) 
    at org.apache.hadoop.mapred.Child$4.run(Child.java:268) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:415) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408) 
    at org.apache.hadoop.mapred.Child.main(Child.java:262) 
Caused by: java.sql.SQLException: Incorrect syntax near ','. 
    at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368) 
    at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820) 
    at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258) 
    at net.sourceforge.jtds.jdbc.TdsCore.getMoreResul 

Я проверил данные на наличие несоответствий и я не могу найти ничего странного.

Мне было интересно, поддерживается ли даже драйвер?

ответ

0

Проблема вызвана тем, что sqoop/jtds group несколько операторов insert в 1, используя список значений, разделенных запятыми. Этот подход несовместим с sqlserver 2005. Чтобы обойти это, я включил вставку jdbc-batch, указав параметр --batch.

путь по умолчанию sqoop/jtds объединение несколько операторов вкладки в 1 поддерживаются с SQLServer 2008

Кроме того, когда я попробовал то же самое (без --batch аргумента) с использованием MS-SQL драйвера все работало нормально , Не уверен, как ms-sql-driver и sqoop работают вместе, чтобы обеспечить совместимость с SQL Server 2005.

Смежные вопросы