본문 바로가기

빅데이터/sqoop6

[sqoop] sqoop 설정 정보를 옵션 파일로 전달하는 방법 $ sqoop --options-file ./import.txt --table TEST # import.txt # option files import --connect jdbc:mysql://localhost/db --username foo 스쿱은 자주 사용하는 옵션정보를 파일로 저장하여 설정할 수 있습니다. 필요한 옵션정보를 개행문자로 구분하여 입력하면 됩니다. 2019. 9. 5.
[sqoop] 스쿱과 mysql 연동중 Error reading primary key metadata: java.sql.SQLException: Column 'ORDINAL_POSITION' not found. 오류 처리 3351 [uber-SubtaskRunner] ERROR org.apache.sqoop.manager.SqlManager - Error reading primary key metadata: java.sql.SQLException: Column 'ORDINAL_POSITION' not found.java.sql.SQLException: Column 'ORDINAL_POSITION' not found. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) at com.mysql.jdbc.SQLError.createSQLExcept.. 2017. 3. 10.
[sqoop] 스쿱을 이용하여 DB와 HDFS간 데이터 이동, import, export 예제 스쿱은 대량의 데이터를 아파치 하둡과 RDBMS 사이에서 전송하기 위해 디자인 된 툴이다. - 2012년 3월 아파치 톱레벨 프로젝트로 지정- 현재 1.4.6이 최신 버전(2017.03.10)- 스쿱2의 최신버전은 1.99.7, 스쿱1과 호환된지 않음, 아직 정식 릴리즈 되지 않음 - import: DB -> HDFS 로 데이터를 가져온다. - export: HDFS -> DB 로 데이터를 가져온다. [query 옵션을 이용하는 경우]- DB의 데이터를 쿼리로 조회하여 target-dir 위치로 복사sqoop import \ --connect jdbc:mysql://loclhost:7777/db?zeroDateTimeBehavior=convertToNull \ --username scott \ --pas.. 2017. 3. 10.
[sqoop] 스쿱 처리중 invalid callable syntax 오류처리 Error: java.io.IOException: java.sql.SQLSyntaxErrorException: invalid callable syntaxat 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.hadoo.. 2017. 3. 8.
[sqoop] 스쿱실행중 Mixed update/insert is not supported against the target database yet 오류 처리 Mixed update/insert is not supported against the target database yet 스쿱을 이용하여 exprot 명령을 처리할 때 위와 같은 오류가 발생하는 경우가 있다. --update-mode 를 allowinsert 로 설정하였을 때 발생한다. --update-key 에 지정한 칼럼이 동일한 데이터가 없어서 insert 를 하려고 할때 데이터베이스가 update insert 문을 지원하지 않아서 발생하는 오류이다. 스쿱 지라에서도 확인할 수 있다. (확인) 현재 1.4.2 버전 기준으로 오라클에서만 지원한다고 한다. 다른 DB 에서는 처리가 안되는 것 같다. PostgreSQL에서는 프로시저를 이용하여 처리할 수도 있다고 한다. >sqoop export --c.. 2017. 3. 8.
[sqoop] sqoop 처리중 Streaming result set com.mysql.jdbc.RowDataDynamic is still active. 오류 처리 sqoop 을 이용하여 import, export 처리중 다음과 같은 오류가 발생하는 경우가 있다. 3376 [uber-SubtaskRunner] ERROR org.apache.sqoop.manager.SqlManager - Error reading from database: java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@6b80c0fb is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on a.. 2017. 3. 7.