Bigdata Engineer & Analyst Story

A Hugo theme for creative and technical writing

Sqoop

스쿱(Sqoop)

  • 하둡에코시스템에 수집 부분
  • RDBMS와 HDFS간의 효율적인 데이터 전송 지원 도구
  • JDBC와 호환되는 모든 RDBMS에 사용 가능

스쿱 임포트(Sqoop Import)

  • RDBMS에서 HDFS Storage로 저장
  • 스쿱잡은 맵(Map)만 수행하여 HDFS Storage에 저장

스쿱 익스포트(Sqoop Export)

  • HDFS Storage에서 RDBMS로 저장
  • 스쿱잡은 맵(Map)만 수행하여 RDBMS에 저장
  • RDBMS에 Table은 생성돼 있어야 함

스쿱v1 VS 스쿱v2

  • 복잡성과 보안 취약으로 v2에서는 다음과 같은 사항을 지원하지 않음
  • Kerberos보안 통함: v1(지원함), v2(지원하지 않음)
  • RDBMS에서 하이브나 HBase로 데이터 전송: v1(지원함), v2(지원하지 않음)

스쿱 명령어

RDBMS 보기

  • sqoop list-databases –connect jdbc:mysql://{host_name} –username {username} –password {password}

Table 보기

  • sqoop list-tables –connect jdbc:mysql://{host_name}/{db_name} –username {username} –password {password}

스쿱 임포트

  • sqoop import –connect jdbc:mysql://{host_name}/{db_name} –username {username} –password {password} –table {table_name} -m 1 –target-dir {hdfs_target_dir}

스쿱 익스포트

  • sqoop export –connect jdbc:mysql://{host_name}/{db_name} –username {username} –password {password} –table {table_name} -m 1 –export-dir {hdfs_export_dir}

HDFS 확인

  • hdfs dfs -ls {hdfs_target_dir}
  • hdfs dfs -cat {hdfs_target_dir}/part-m-00000 : 구분자 콤마 : Map잡이 하나이므로 파일 하나만 생김