redshift s3

한승재·2026년 4월 7일

CSV 데이터를 Redshift 테이블로 직접 가져옵니다.

-- 1. 테이블 생성
CREATE TABLE my_table (
    id INT,
    name VARCHAR(100),
    value DECIMAL(10,2)
);

-- 2. S3에서 COPY
COPY my_table
FROM 's3://your-bucket/path/to/file.csv'
IAM_ROLE 'arn:aws:iam::123456789:role/RedshiftS3Role'
FORMAT AS CSV
IGNOREHEADER 1  -- 헤더 행 건너뜀
DELIMITER ','
REGION 'ap-northeast-2';

S3 데이터를 외부 테이블로 정의해서 바로 쿼리합니다. 데이터를 Redshift에 로드하지 않아도 됩니다.

-- 1. 외부 스키마 생성 (Glue Data Catalog 사용)
CREATE EXTERNAL SCHEMA spectrum_schema
FROM DATA CATALOG
DATABASE 'my_glue_db'
IAM_ROLE 'arn:aws:iam::123456789:role/RedshiftS3Role'
CREATE EXTERNAL DATABASE IF NOT EXISTS;

-- 2. 외부 테이블 정의
CREATE EXTERNAL TABLE spectrum_schema.my_csv_table (
    id INT,
    name VARCHAR(100),
    value DECIMAL(10,2)
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION 's3://your-bucket/path/to/folder/'
TABLE PROPERTIES ('skip.header.line.count'='1');

-- 3. 바로 쿼리
SELECT * FROM spectrum_schema.my_csv_table LIMIT 10;
profile
안녕하세요

0개의 댓글