[Hadoop] Sqoop 개요

Woong·2022년 1월 11일
0

Apache Hadoop

목록 보기
6/10

Sqoop

  • SQL + Hadoop 합쳐 만든 이름

  • 데이터세트를 HDFS 로 가져오거나 내보내기.

  • MapReduce 를 사용하기 때문에 오버헤드 문제로 인해 작은 데이터에 대해선 효율을 기대하기 어려움. 큰 데이터 세트에 대해 유용

  • ex) MySQL, PostGres 와 같은 데이터베이스에 가져와 MapReduce를 수행, HDFS 로 적재
    sqoop import --connect jdbc:mysql://localhost/movielens --driver com.mysql.jdbc.Driver --table movies

    • --hive-import 옵션을 통해 바로 Hive 테이블로 적재도 가능
      sqoop import --connect jdbc:mysql://localhost/movielens --driver com.mysql.jdbc.Driver --table movies --hive-import
  • --check-column : 타임스탬프 또는 일련번호 열

  • --last-value : 이 열의 값이 주어진 값보다 클 때에만 데이터를 가져옴

    • 이전 저장값을 사용하거나 최근 저장 시기 등으로 사용
  • ex) Hive 에서 MySQL 로 적재
    sqoop export --connect jdbc:mysql://localhost/movielens -m 1 --driver com.mysql.jdbc.Driver --table exported_movies --export-dir /apps/hive/warehouse/movies --input-fiels-terminated-by '\0001'

    • sqoop 이 테이블을 직접 생성하지 않도록 Hive 테이블의 모든 데이터와 맞는 적절한 열이 있는 테이블을 미리 만들 것.
    • -m : mapper 를 몇개 사용할지. 여기선 standalone 환경 테스트이므로 1 사용
    • --export-dir : 하이브가 테이블을 저장할 경로 지정
    • --input-fields-terminated-by : hive 테이블에서의 delimeter 지정 (기본적으로 ASCII 0)

reference

  • 글로벌 Best】 Hadoop : 최고의 하둡 실습으로 빅 데이터 길들이기! (한글 자막) 강의

0개의 댓글