빅데이터

Download Report

Transcript 빅데이터

Hadoop기반 빅데이터 실무과정
Sqoop 개요 및 시연
빅데이터 최고의 커뮤니티
http://www.bicdata.com
Bigster 이사 김기선
SHARE THE KNOWLEDGE
CopyLeft © 2012 BIWORLD
목차
1.Sqoop의 개요
2.Sqoop 시연
3.Sqoop Advanced
1 / 20
빅데이터 – http://www.bicdata.com
1. Sqoop 개요
Sqoop = DBMS to Hadoop
• 다양한 데이터베이스의 자료를 HDFS로 Import/Export
• MapReduce 프로그램에 사용될 프로그램 코드의 생성
• Hive 등과의 통합
2 / 20
빅데이터 – http://www.bicdata.com
1. Sqoop 개요
Sqoop
• 구조화된 데이터저장소로 부터
데이터 Import / Export 지원
- RDBMS
- Data Warehouse
- NoSQL Datastore
• 하둡 기반의 시스템과의 통합 지원
- Hive
- HBase
- Oozie
3 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop개요
주요특징
• JDBC 기반으로 구현됨
- 많은 데이터베이스 벤더와 공동작업
• 사용자 프로그램코드의 자동생성
- 데이터를 처리하는 MapReduce 프로그램 지원
• Hive와 통합
- SQL 기반 환경으로 편리하게 이용가능
- Hive의 메터스토어에 테이블 명세 자동제공
• 확장적인 백엔드 기능
- 성능향상을 위한 데이터베이스-특정기능 지원
4 / 20
빅데이터 – http://www.bicdata.com
2. sqoop 설치
sqoop 설치
• 다운로드
- http://sqoop.apache.org/
- wget http://apache.mirror.cdnetworks.com/sqoop/1.4.1-incubating/sqoop-1.4.1-incubating__
hadoop-0.20.tar.gz 미러사이트에서 tarball 다운로드
• 압축풀기
- 설치를 원하는 곳에서 다운 받은 sqoop-1.4.1-incubating__hadoop-0.20.tar.gz를 푼다.
- tar –zxvf sqoop-1.4.1-incubating__hadoop-0.20.tar.gz
- ln –s sqoop-1.4.1-incubating__hadoop-0.20.tar.gz sqoop : 심볼릭 링크 설정
• 설정잡기
- ~/sqoop/conf/sqoop-site.xml
5 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
예제 - Mysql
6 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
예제 - Mysql
7 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Import to HDFS
• ./sqoop import --connect
jdbc:mysql://1.234.4.7/test_db --table lu_customer -username testuser –password ******** --split-by
customer_id
• " lu_customer " 테이블을 HDFS 디렉토리에 Import
- 데이터는 텍스트 또는 순차파일 형식으로 Import됨
- 옵션으로 압축 및 분할 설정 가능
• lu_customer.java 코드 자동생성
8 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Import to HDFS
9 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Class 자동 생성
JDBC로부터
테이블정보 획득
Sqoop ORM
자바코드 생성
10 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Import to HDFS
1.메타데이터 수집
2.Map-Only 작업 실행
11 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
예제 – lu_customer
12 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
자동으로 만들어진 java 파일
경로: /tmp/sqoop-bdh/compile/*
13 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Hive 통합
• HDFS로 데이터 Import 후에
• Hive로 테이블 명세를 Import
( Hive의 데이터는 HDFS에 저장됨 )
14 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Import to Hive
• ./sqoop import --connect jdbc:mysql://1.234.4.7/test_db --table lu_customer -username testuser –password ******** --split-by customer_id –-hive-import
15 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Import to Hive
16 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Import to HBase
• ./sqoop import --connect jdbc:mysql://1.234.4.7/test_db --table lu_customer -username testuser –password ******** --split-by customer_id –hbase-create-table –
hbase-table customer –column-family mysql
17 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Import to HBase
18 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
추가옵션
• 다양한 데이터 저장방식 지원
- 텍스트파일 : ; 쉽게 Hive로 Import
- 순차파일 : 압축지원, 고성능
• 로컬 또는 원격 하둡 클러스터, DB 지원
• 컬럼별 검색 가능, WHERE 구문
• 분리자에 의한 원본자료 처리 지원(원본 형식)
--fields-terminated-by, --lines-terminated-by,
--optionally-enclosed-by, ...
• 분리자에 의한 컨버젼 지원(HDFS 형식)
--input-fields-terminated-by, ...
19 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Export
• 기본 분리자 : ',' 컬럼. '\n' 레코드
• 분리자 지정 가능
• 분리자는 Import Export에 모두 사용 가능
20 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Export
1.메타데이터 수집
2.Map-Only 작업 실행
21 / 20
빅데이터 – http://www.bicdata.com
2. Sqoop 시연
Direct Import
• Direct Import
- Sqoop Connector : mysqldump 같은 고성능 유틸리티 지원
- 데이터는 JDBC를 경유해서 분산저장됨
- Map 태스크에서 mysqldump .. select ..where .. 구문 지원
- Header / Footer 정보는 제거됨
• Direct Export도 유사
• PostgreSQL도 동일한 기능 지원
22 / 20
빅데이터 – http://www.bicdata.com