์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[TIL] AWS redshift์— Copy ๋ช…๋ น์–ด๋กœ csv ๋ฐ์ดํ„ฐ ์ ์žฌ ์‹œ csv ๋‚ด์— json์ด ํฌํ•จ๋˜์–ด ์žˆ์„ ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ข…๋ฅ˜ 221026

CLOUD/AWS

by ์—์Šคํ”„๋ฆฌํ„ฐ 2022. 10. 26. 17:00

๋ณธ๋ฌธ

728x90
๐Ÿ’ก Today I Learned ์š”์•ฝ (27ํšŒ์ฐจ)
- redshift์— csv ํŒŒ์ผ์„ Copy ์ฟผ๋ฆฌ๋กœ ์ ์žฌํ•  ๋•Œ json์ด ์žˆ์„ ๊ฒฝ์šฐ ์•„๋ž˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ณ ๋ คํ•  ํ•„์š” ์žˆ์Œ

 

AWS redshift์— Copy ๋ช…๋ น์–ด๋กœ csv ๋ฐ์ดํ„ฐ ์ ์žฌ ์‹œ csv ๋‚ด์— json์ด ํฌํ•จ๋˜์–ด ์žˆ์„ ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ข…๋ฅ˜

s3์— ์˜ฌ๋ผ๊ฐ„ csv๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ Redshift์— ์ ์žฌํ•  ๋•Œ csv ๋‚ด์— json ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๊ณ , ๊ทธ๊ฒƒ์„ ๋‹จ์ผ ์นผ๋Ÿผ ๋‚ด์— ๋กœ๋“œํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋‹ค. ์•„์ง ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๋Š” ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด์„œ ์ถ”ํ›„ ๋‹ค์‹œ ์ •๋ฆฌ๊ฐ€ ํ•„์š”ํ•จ.

CSV -- CSV ๋ช…์‹œ
IGNOREHEADER 1 -- ์ง€์ • row number๋ฅผ ๋ฌด์‹œ
DELIMITER ',' -- ๊ตฌ๋ถ„์ž
EMPTYASNULL -- ๋น„์–ด์žˆ๋Š” varchar๋‚˜ char๋ฅผ null๋กœ ๋กœ๋“œ
BLANKSASNULL -- ๊ณต๋ฐฑ ๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋นˆ ํ•„๋“œ๋ฅผ Null๋กœ ๋กœ๋“œ
TRUNCATECOLUMNS -- ์—ด ๋ฐ์ดํ„ฐ๋ฅผ varcahr๋กœ ์ž๋ฆ„
TRIMBLANKS -- varchar ๋ฌธ์ž์—ด์—์„œ ํ›„ํ–‰ ๊ณต๋ฐฑ ๋ฌธ์ž ์ œ๊ฑฐ
GZIP -- Gzip ํŒŒ์ผ์ž„์„ ๋ช…์‹œ
DATEFORMAT 'auto' -- dateforamt์€ ์ž๋™
TIMEFORMAT 'auto' -- timeformat์€ ์ž๋™
ACCEPTINVCHARS -- ์ž˜๋ชป๋œ UTF-8 ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด๋„ varchar์—ด์— ๋ฐ์ดํ„ฐ ๋กœ๋“œ
FILLRECORD -- ์ธ์ ‘ํ•œ ์—ด๋“ค์ด ๋ ˆ์ฝ”๋“œ์— ๋ˆ„๋ฝ๋˜์—ˆ์„ ๋•Œ๋„ NULL๋กœ ๋ฐ์ดํ„ฐ ๋กœ๋“œ ํ—ˆ์šฉ

#AWS ๊ด€๋ จ ๋ฆฌ์„œ์น˜ ๋‚ด์—ญ:

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ

๋Œ“๊ธ€ ์˜์—ญ