2012-10-24 4 views
0

Cloudera CDH4.1에서 SQOOP를 사용하여 간단한 2 열 SQL Server 데이터를 HIVE로 성공적으로 가져 왔습니다. - 아이디 (INT) - 설명 (VARCHAR (50)) sqoop이 squop에서 가져온 하이브 테이블에서 가져 오기

나는 그것이 두 열을 함께 덩어리 다시 SQL 서버로 이동하기 위해 동일한 HIVE 테이블을 얻을 시도하고 따라서는 NumberFormatException를 생성

.

나는 \ t --lines-terminated-by에 의해 --fields-terminated를 시도했으나 아무런 차이가 없다.

또한 Cloudera에서 제공하는 sample_08 하이브 테이블을 내보내려고했지만 NoSuchElement 예외가 발생했습니다. 그것이 존재하지 않는다고 생각하는 요소에 대한 단서를 제공하기를 바란다.

나는 테이블 구조와 필드 이름이 모두 대소 문자와 밑줄을 포함하여 양쪽 모두 동일하다는 것을 확인했다.

하나의 열 테이블을 내보낼 수 있지만 문제를 해결하는 방법은 완전히 혼란 스럽습니다.

도움을 주시면 감사하겠습니다.

+0

Microsoft에서 SQOOP 커넥터를 설치해도 managers.d의 구성 파일이 올바르게 설정되지 않은 것으로 나타났습니다. /usr/lib/sqoop/conf/managers.d/mssqoop-sqlserver에는 sqljdbc4.jar 파일의 경로가 포함되어야하지만 기본적으로이를 생략합니다. 파일에 다음 내용이 포함되어 있어야합니다. - com.microsoft.sqoop.MSSQLServerManagerFactory/usr/lib/sqoop/lib/sqljdbc4.jar 이것은 단순히 다음 오류 인 java.lang.NoSuchMethodError를 가져옵니다. –

답변

0

매개 변수 --filds-terminated-by 및 --line-terminated-by 매개 변수는 "가져 오기"작업 중에 만 사용됩니다. "내보내기"대/소문자를 동일하게 수행하려면 --input-fields-terminated-by 및 --input-lines-terminated-by 매개 변수를 사용해야합니다.

스택 추적 전체를 공유하고 문제를 일으키는 데이터의 예제 세트를 공유 하시겠습니까?

관련 문제