데이터 수집 #2 Apache Sqoop을 활용하여 RDBMS 데이터 수집(1)

 

앞의 글에서 언급한 바와 같이 RDBMS로 부터 데이터를 수집하기 위해 선택한 오픈 소스인 Apache Sqoop에 대해 정리하고자 한다.

실 서비스 환경에서는 아래와 같은 경우가 있을 것이다.

-별도의 로그 수집 시스템 및 데이터 저장소가 마련되지 않아 Oracle, MySQL 등의 RDBMS에 로그를 저장하는 경우. 즉, RDBMS로 계속 누적되어 비대해진 데이터를 분석하기에는 비용과 시간이 많이 소요되어 Hadoop과 같은 분산환경의 저장소로 옮겨 분석할 필요가 발생함
-로그 뿐 아니라, 메타성 데이터는 대부분 RDBMS에 저장되어 있는데, 이 RDBMS의 메타 데이터를 Hadoop, Hive 등으로 옮겨야 하는 경우
-반대로, 분산 환경의 Hadoop, Hive 등에서 분석된 결과를 API형태가 아닌 원격의 RDBMS로 전송할 경우가 발생함

위와 같은 경우 중간 과정없이 손 쉽게 옮길 수 있는 방안을 고민하게 되는데. 이럴때 가장 유용한 오픈 소스가 Apache Sqoop이다.

Apache Sqoop은 Sql to Hadoop의 의미로서, Apache Hadoop과 RDBMS 사이에 bulk data를 효율적이고 쉽게 옮길 수 있도록 디자인 된 도구이다.

Sqoop은 2009년 첫 버전이 나온 후 2012년에 Apache Top Level Project가 되어 지속 발전 중이다. 현재 Apache Sqoop은 두 가지 버전으로 발전되고 있는데, Sqoop1 이라 불리는 클라이언트 방식과 Sqoop2라 불리는 기존 Sqoop1방식에 추가로 Server side 방식이 추가된 버전이다.

 

Sqoop1 / Sqoop2 간단비교


 

Sqoop1과 Sqoop2의 가장 큰 변화는 서버 방식의 추가라 할 수 있으며, Sqoop1에서 불편(?)했던 JDBC Driver를 서버 한 곳에만 설치하면 되는 등 편의성이 높아 진점, 그리고, HTTP REST를 활용하여 보다 더 Apache Oozie와 integration 이 용이해 진 점이라 할 수 있다.

Sqoop2의 3가지 Design Goal에서 그 내용을 확인할 수 있다.

-Ease of Use
-Ease of Extension
-Security and Separation of Concerns

Sqoop 1,2 어느 버전이라도 별 어려움 없이 쉽게 적용할 수 있을 것이며, 아직 Sqoop1 으로도 아직 불편함은 없다.

Sqoop CLI(Command Line Interface)를 통해 제공되는 명령어는 아래와 같으며, 각 Command의 옵션들은 sqoop help COMMAND로 확인 가능하다.

 

 

usage: sqoop COMMAND [ARGS] Available commands: codegen Generate code to interact with database records create-hive-table Import a table definition into Hive eval Evaluate a SQL statement and display the results export Export an HDFS directory to a database table help List available commands import Import a table from a database to HDFS import-all-tables Import tables from a database to HDFS job Work with saved jobs list-databases List available databases on a server list-tables List available tables in a database merge Merge results of incremental imports metastore Run a standalone Sqoop metastore version Display version information See 'sqoop help COMMAND' for information on a specific command.

곧 이어질 글에서는 Sqoop 설치와 가장 많이 사용하는 Command인 Import, Export에 대해 보다 더 자세히 살펴볼 것이다.ReferenceSqoop Project Home : http://sqoop.apache.org/Sqoop Blog : http://blogs.apache.org/sqoop/Sqoop2 Design : https://cwiki.apache.org/confluence/display/SQOOP/Sqoop+2

 

 

Reference

Sqoop Project Home : http://sqoop.apache.org/
Sqoop Blog : http://blogs.apache.org/sqoop/
Sqoop2 Design : https://cwiki.apache.org/confluence/display/SQOOP/Sqoop+2

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

출처 : 한국데이터베이스진흥원

제공 : DB포탈사이트 DBguide.net

 

[출처] http://www.dbguide.net/knowledge.db?cmd=specialist_view&boardConfigUid=108&boardUid=176552

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED