2012-11-13 4 views
3

Hadoop (hbase)에 wikipedia 덤프 (mysql 테이블, 압축 파일 약 50GB)를 가져와야합니다. 이제는 먼저 mysql에 덤프를로드 한 다음 mysql에서 hadoop으로 데이터를 전송한다. 그러나 mysql에 데이터를로드하는 데는 4-7 일 정도의 시간이 걸린다. mysql 덤프를 hadoop에 직접로드 할 수 있습니까 (일부 덤프 파일 파서 또는 유사한 방법을 사용하여)?큰 mysql 덤프를 hadoop으로 가져 오는 방법은 무엇입니까?

+0

왜 데이터를 mysql로 ​​옮기고 있습니까? 추가 처리에 사용하고 있습니까? 그렇지 않다면, 직접 데이터를 hadoop에 저장하는 방법이 있습니다. 답장을 기반으로 답을 추가 할 것입니다 –

+0

아마 https://sqoop.apache.org/ – rretzbach

답변

2

내가 아는 한 - MySQL 덤프는 거의 전적으로 삽입 문으로 설정되어 있습니다. 매퍼에서 프로세스를 분석하고 프로세스를 진행할 수 있습니다 ... 자바에서 단 한 번의 테이블 하드 코드 파싱 만하면됩니다.

+0

을 사용할 수 있습니다. 예, 작동합니다. 7 억 6 천만 레코드 덤프를 csv 형식으로 변환하는 데 1 시간 밖에 걸리지 않습니다. 그 후 hadoop이나 mongo 로의 import는 사소하다. – hudvin

+0

도움이되어 기쁩니다 –

1

sqoop을 사용하십시오. 지도를 사용하여 MySQL 데이터를 HDFS로 가져 오는 도구로 작업을 줄일 수 있습니다.

편리합니다.

+0

데이터가 이미 mysql (jdbc를 통해 액세스 가능)이되어야 함을 알고 있습니다. – hudvin

+0

Sqoop은 CSV 및 Avro 형식 파일에서 가져올 수 있습니다 - http://sqoop.apache.org/docs/1.4를 참조하십시오. 4/SqoopUserGuide.html # _file_formats – blueberryfields

관련 문제