2016-06-23 3 views
0

두 시스템을 연결하지 않고 Oracle 데이터베이스에서 Hadoop으로 많은 양의 데이터를 이동해야합니다. HDFS로 가져 오지 않고 Oracle에서 Sqoop을 통해 직접 로컬 파일 시스템으로 데이터를 내보낼 수 있습니까? ORC로 내보내고 외부 디스크를 통해 Hadoop 클러스터로 파일을 옮기고 싶습니다.RDBMS에서 Hadoop으로 내보내기 호환 형식

답변

1

귀하의 경우에는 SQOOP를 사용할 수 없습니다. SQOOP는 hadoop에서 실행되며 JDBC를 사용하여 DB와 연결됩니다. hadoop 노드가 DB 서버에 연결할 수 없다면 사용할 수 없습니다.

ORC는 Hive에서 사용되는 매우 특정한 형식이므로, 가능하다면 하이브 라이브러리를 사용하여 hadoop 클러스터 외부에서 ORC 파일을 만드는 방법을 찾아야합니다.

제한 사항에 따라 DB의 덤프 기능을 사용하여 DB를 CSV 파일로 내보내고 파일을 압축 한 다음 HDFS로 복사하는 것이 좋습니다.

하이브를 사용하려는 경우 LOAD 텍스트 파일을 ORC를 사용하여 데이터를 저장하도록 구성된 테이블에 넣을 수 있습니다.

+0

오라클 데이터베이스가 중간 파일 용으로 생성 할 수있는 ORC - CSV, TSV 또는 기타 일반적인 중립적 포맷을 피하는 제안에 동의합니다. Hadoop으로의 최종로드가 간단 해져 Hadoop 포맷을 사용할 수 있습니다. –

+0

CSV 형식의 유일한 문제점은 데이터에 줄 바꿈이있을 수 있으며 데이터를 그대로 보존하려고한다는 것입니다. 나는 xml을 사용하는 것으로 붙어 있을지 모르지만 나는 그 크기 때문에 정말로 원하지 않는다. – Shawn

+0

CSV에서 "|", "@@", "^ A"또는 열 구분 기호와 같은 다른 줄 바꿈을 사용할 수 있습니다. 문제는 hadoop 및 DB dunps 도구의 모든 구성 요소가 이러한 매개 변수를 지정할 수있는 것은 아니며 사용자 자신의 작성기/판독기를 구현해야한다는 것입니다. 하이브에서는 테이블을 만들 때 두 매개 변수를 모두 지정할 수 있습니다. – RojoSam

관련 문제