ssung_데이터 엔지니어링/8주차_2차 프로젝트

2차 프로젝트(3)

ssungcohol 2023. 12. 6. 15:16

snowflake 데이터 적재

  • SQL문을 사용하여 S3와 연결 후 데이터를 원하는 곳에 적재
  • credentials 입력 시 AWS의 콘솔의 key와 secret 키를 바로 입력하는 것은 절대 금지!
     - 해당 계정의 key가 공유되면 다른 사용자가 자신의 AWS계정을 마음대로 사용이 가능하여 요금을 폭탄 맞을수도..
-- dev Database 밑의 raw_data 스키마의 test_data Table로 데이터 적재
COPY INTO dev.raw_data.test_data

-- 가지고 오고자 하는 S3 버킷 주소/파일 이름 입력
from 's3://ABCDEFGH/FILE NAME.ABC'

-- 생성한 IAM의 접근 키와 SECRET 키 입력
credentials=(AWS_KEY_ID='ABCDEFGHI' AWS_SECRET_KEY='ABCD...XYZ')

-- 파일형식을 어떻게 가지고 올지 설정
FILE_FORMAT = (type = 'CSV' skip_header=1)

데이터 적재 시 주의할 점

  • 발생한 문제점
     - 가지고 오고자하는 csv 파일의 열과 table 열의 개수가 맞지 않음

문제 발생

 

  • 문제 파악 및 해결
  • 문제 파악 - 해당 csv파일을 보고 열을 한 개만 만들었지만, ','로 나누어져 있는 것이 열로 나누어져 있는 것으로 인식이 되었음

해당 파일 형식

  • 해결 - 컬럼 개수를 맞춰 Table 재생성 후 다시 적재
CREATE OR REPLACE TABLE dev.raw_data.test_data(
    item text,
    variety text,
    region text,
    ts varchar(15),
    price int,
    market text
);

 

  • 적재 성공 후 데이터 조회도 성공적으로 된 것을 확인

728x90

'ssung_데이터 엔지니어링 > 8주차_2차 프로젝트' 카테고리의 다른 글

2차 프로젝트 (후기)  (0) 2023.12.10
2차 프로젝트(2)  (1) 2023.12.06
2차 프로젝트(1)  (1) 2023.12.04