데이터 수집 #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

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86774
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79083
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95845
22 UNION과 UNION ALL 의 차이 및 주의 사항 졸리운_곰 2017.08.27 1284
21 컬럼내 특정 문자를 다른문자로 변경하고자 할때 졸리운_곰 2017.06.10 1504
20 [MySQL] 레코드 데이터 치환하기 (REPLACE) 졸리운_곰 2017.06.10 1429
19 MySQL / 테이블에서 특정 문자열 바꾸기 졸리운_곰 2017.06.10 1307
18 MySQL Redis Plugin file 졸리운_곰 2017.05.30 1724
17 [DB] MySQL Check, Repair, Optimize(개별/전체 테이블 포함) 졸리운_곰 2017.05.21 1251
16 Transfer from sqlite to MySQL/ sqlite에서 mysql로 변환 졸리운_곰 2017.03.18 1132
15 [MySQL] 힌트설정 / 쿼리캐시 졸리운_곰 2017.03.15 1512
14 [MySQL힌트 정리] 졸리운_곰 2017.03.15 1719
13 [mysql]Hint 사용방법 졸리운_곰 2017.03.15 1509
12 MySQL Ver. 5.1 힌트를 이용한 실행계획 제어 file 졸리운_곰 2017.03.15 1186
11 MySQL 덤프 / 임포트 dump / import 졸리운_곰 2017.01.05 1523
10 [질문] 두개의 컬럼에 대해 group by 적용 할 수 있을까요? 졸리운_곰 2016.12.17 844
9 MySQL 중복 키 관리 방법 (INSERT 시 중복 키 관리 방법 (INSERT IGNORE, REPLACE INTO, ON DUPLICATE UPDATE) 졸리운_곰 2016.12.17 1111
8 [mysql] 쿼리값이 NULL 일때 0으로 바꾸기 졸리운_곰 2016.12.14 1197
7 MySql] Insert Select 문 졸리운_곰 2016.12.06 1410
6 [MySQL] substring_index , substring ( split, explode ) 졸리운_곰 2016.12.06 1367
5 MySQL 테이블 이름변경, 테이블 복사 졸리운_곰 2016.11.23 1537
4 [MySQL] MySQL 테이블 수정 졸리운_곰 2016.11.16 1542
3 generate days from date range mysql 날짜검색시 between 안에 포함되는 날짜전체 출력 졸리운_곰 2016.11.02 1261
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED