기업에서 관리하고 있는 데이터베이스(B, Database)에 저장되어 있는 정형데이터를 수집하는 기술로는 아파치에서 만들어진 스쿱(Sqoop)프로그램이 있습니다.
아파치 스쿱(Apache Sqoop)
스쿱(Sqoop)은 하둡(Hadoop)과 관계형 데이터베이스간에 정형 데이터를 전송할 수 있도록 설계된 도구입니다. MySQL이나 오라클(Oracle)과 같은 관계형 데이터베이스 관리 시스템(RDBMS)으로부터 하둡 분산 파일 시스템(HDFS)으로 데이터를 가져오는데 스쿱을 이용할 수 있습니다. 스쿱은 데이터를 가져오고 내 보내는데 있어서 병렬연산과 고장방지기능을 제공하는 맵리듀스(MapReduce)를 사용합니다.
예를 들면, Oracle DB상에 적재된 대량의 로그성 데이터를 HDFS로 옮겨 분산처리를 하기위해, 쉽게 데이터를 Import 할 수 있으며, 반대로 분석의 결과나 HDFS의 데이터를 RDB로 Export 할 수 있습니다. 또한 저장된 결과를 Hive, Pig, HBase 등을 통해서 확인 할 수 있습니다.
[ Sqoop Import / Export ]
Sqoop Import
Import 하는 과정은 먼저 가져올 데이터의 메타 정보를 가져온 후에, Map-only Hadoop Job으로 데이터를 클러스터로 보냅니다.
[ Sqoop Import ]
Import 프로세스의 입력은 데이터베이스 테이블입니다. Sqoop은 테이블을 행 단위로 HDFS로부터 읽어들입니다. 출력은 가져온 테이블의 복사본을 포함하는 파일 집합입니다.
Sqoop Export
HDFS 상의 데이터를 RDB로 Export하는 경우도 마찬가지입니다. 먼저 데이터베이스의 메타데이터를 가져온 후, 데이터를 이동시킵니다.
[ Sqoop Export ]
Export 프로세스는 병렬로 HDFS로부터 구분된 텍스트 집합을 읽어서, 레코드의 형태로 구문 분석하고 목적 데이터베이스 테이블의 새 행으로 레코드들을 삽입합니다.
'빅데이터 > 빅데이터 처리' 카테고리의 다른 글
구독 형태의 데이터 수집 (0) | 2017.08.03 |
---|---|
정보 검색을 통한 데이터 수집 (0) | 2017.08.03 |
R 프로젝트 (0) | 2017.08.03 |
얀(YARN) (0) | 2017.08.03 |
빅 쿼리(Big query) (0) | 2017.08.03 |