Redshift에서 COPY 명령을 시도했습니다.

5598 단어 redshiftAWS

소개



이 기사는 공부용으로 시험한 것 정리한 것입니다.
이번에는 S3에 CSV 파일을 배치하고 Redshift에 COPY를 시도했습니다.

Redshift란?


  • AWS가 제공하는 DWH의 관리형 서비스입니다.
  • PostgreSQL을 베이스로 개발된 것.
  • 집계·분석에 최적화된 서비스이다.
  • 클러스터를 시작하는 동안 요금이 발생했습니다. 현재 Redshift에 정지 기능이 없으므로 스냅샷을 얻고 사용할 때 스냅샷에서 복원해야 합니다.
  • 자동 기동 정지는 Lambda로 구현인가.
  • 공식 문서
    htps : // 아 ws. 아마존. 이 m/jp/레 d시 ft/

  • 특징


  • 집계, 분석에 특화되어 있기 때문에 데이터의 저장 방식이 열 지향이다.
  • MPP(Massively Parallel Processing: 초병렬 처리)이다.
  • S3에서 COPY 명령으로 데이터를 쉽게 로드할 수 있습니다.
  • 또한 S3의 데이터를 참조하여 분석 쿼리를 발행하는 Redshift Spectrum이라는 기능도 있다.

  • 사전 준비


  • Redshift에 데이터를 입력하기 위해 미리 테이블을 만듭니다.
  • SQL Workbench/J 와 같은 클라이언트 툴을 이용해도 좋지만, 쿼리 에디터가 편리하므로 여기에서 실행한다.
  • create table pokemon(
      no INT,
      name VARCHAR(128),
      type1 VARCHAR(32),
      type2 VARCHAR(32),
      nomal_characteristic1 VARCHAR(48),
      nomal_characteristic2 VARCHAR(48),
      dream_characteristic2 VARCHAR(48),
      hp INT,
      attack INT,
      defense INT,
      special_attack INT,
      special_defense INT,
      speed INT,
      sum INT
    ) 
    
  • 정상 종료를 확인.
  • 투입 데이터를 S3에 배치한다. 이번에는 이하 데이터를 S3에 배치.
  • 図鑑番号,ポケモン名,タイプ1,タイプ2,通常特性1,通常特性2,夢特性,HP,こうげき,ぼうぎょ,とくこう,とくぼう,すばやさ,合計
    1,フシギダネ,くさ,どく,しんりょく,,ようりょくそ,45,49,49,65,65,45,318
    2,フシギソウ,くさ,どく,しんりょく,,ようりょくそ,60,62,63,80,80,60,405
    3,フシギバナ,くさ,どく,しんりょく,,ようりょくそ,80,82,83,100,100,80,525
    4,ヒトカゲ,ほのお,,もうか,,サンパワー,39,52,43,60,50,65,309
    5,リザード,ほのお,,もうか,,サンパワー,58,64,58,80,65,80,405
    6,リザードン,ほのお,ひこう,もうか,,サンパワー,78,84,78,109,85,100,534
    7,ゼニガメ,みず,,げきりゅう,,あめうけざら,44,48,65,50,64,43,314
    8,カメール,みず,,げきりゅう,,あめうけざら,59,63,80,65,80,58,405
    9,カメックス,みず,,げきりゅう,,あめうけざら,79,83,100,85,105,78,530
    
    ・・・(省略)・・・
    
    

    데이터 로드


  • 버킷과 IAM 역할을 지정하여 명령을 실행합니다.
  • copy pokemon from 's3://<バケット名>/pokemon_data/' CSV
    iam_role 'arn:aws:iam::111111111111:role/myRedshiftRole'
    region 'ap-northeast-1'
    IGNOREHEADER 1;
    
  • 정상 종료를 확인.


  • 데이터 확인


  • SELECT로 확인해 본다.
  • select * from public."pokemon"limit 10;
    
  • 확인할 수 있었다.


  • 요약


  • COPY 커멘드로 데이터 투입하는 일이 많았으므로 메모 대신에 투고.
  • 타입이나 헤더 스킵 등을 잊으면 실패한다.
  • Check 'stl_load_errors' system table for details. 라고 표시되면 솔직하게 stl_load_errors를 확인.
    htps : // / cs. 아 ws. 아마존. 이 m/그럼 _jp/레 d시 ft/아 st/dg/r_ぉ아 d_에로 r_레후에렌세. HTML

  • 참고


  • htps : //에서 v.ぁsss d. jp / c ぉ d / 아 ws / 이 m포 rt-data--d dft- ゔ ぃ 아 s3 /
  • htps : //에서 v.ぁsss d. jp / c ぉ d / 아 ws / 아마 젠 - d dt ft ea m / /
  • 좋은 웹페이지 즐겨찾기