본문 바로가기
빅데이터/sqoop

[sqoop] 스쿱 처리중 invalid callable syntax 오류처리

by hs_seo 2017. 3. 8.

Error: java.io.IOException: java.sql.SQLSyntaxErrorException: invalid callable syntax

at org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.close(AsyncSqlRecordWriter.java:184)

at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.close(MapTask.java:679)

at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:802)

at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342)

at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.Subject.doAs(Subject.java:422)

at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)

at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

Caused by: java.sql.SQLSyntaxErrorException: invalid callable syntax

at org.mariadb.jdbc.MariaDbCallableStatement.<init>(MariaDbCallableStatement.java:97)

at org.mariadb.jdbc.MariaDbConnection.prepareCall(MariaDbConnection.java:408)

at


JDBC 커넥터를 이용하여 스쿱과 mysql 연결하여 프로시저 처리중 이런 오류가 발생하는 경우가 있다. 

잘보면 mysql 인데 MariaDbCallableStatement 를 이용하여 처리하고 있다. 


마리아 DB와 MySql의 JDBC 커넥터 이름이 동일하여 오류가 발생하는 것이다. 

라이브러리를 잘 확인하여 처리하면 된다. 


마리아 DB 에 연결하여 처리중인 경우에 이런 오류가 발생한다면 프로시저에 오류가 있는 것이다. 

파라미터 타입, 칼럼 타입, 파라미터 개수등을 정확히 확인하면 된다. 


반응형