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