Amazon Redshift에서 복제된 데이터 쿼리
소스에 데이터를 추가하면 거의 실시간으로 Amazon Redshift 데이터 웨어하우스에 데이터가 복제되어 바로 쿼리할 수 있습니다. 통합 지표 및 테이블 통계에 대한 자세한 내용은 제로 ETL 통합의 지표 섹션을 참조하세요.
참고
데이터베이스는 MySQL의 스키마와 동일하므로, MySQL 데이터베이스 수준은 Amazon Redshift 스키마 수준에 매핑됩니다. Aurora MySQL 또는 RDS for MySQL에서 복제된 데이터를 쿼리할 때는 이 매핑 차이에 유의하세요.
복제된 데이터를 쿼리하려면
-
Amazon Redshift 콘솔로 이동하여 쿼리 편집기 v2를 선택합니다.
-
Amazon Redshift Serverless 작업 그룹 또는 Amazon Redshift 프로비저닝된 클러스터에 연결하고 드롭다운 목록에서 데이터베이스를 선택합니다.
-
SELECT 문을 사용하여 소스에서 생성한 스키마 및 테이블에서 복제된 데이터를 모두 선택합니다. 대/소문자를 구분하려면 스키마, 테이블 및 열 이름에 큰따옴표(" ")를 사용합니다. 예:
SELECT * FROM "
schema_name
"."table_name
";Amazon Redshift CLI를 사용하여 데이터를 쿼리할 수도 있습니다.
구체화된 뷰로 복제된 데이터 쿼리
로컬 Amazon Redshift 데이터베이스에서 구체화된 뷰를 생성하여 제로 ETL 통합을 통해 복제된 데이터를 변환할 수 있습니다. 로컬 데이터베이스에 연결하고 데이터베이스 간 쿼리를 사용하여 대상 데이터베이스에 액세스합니다. 세 부분으로 구성된 표기법(대상-데이터베이스-이름.스키마-이름.테이블-이름)으로 정규화된 객체 이름을 사용하거나, 대상 데이터베이스-스키마 쌍을 참조하는 외부 스키마를 만들고 두 부분으로 구성된 표기법(외부-스키마-이름.테이블-이름)을 사용할 수 있습니다. 데이터베이스 간 쿼리에 대한 자세한 내용은 데이터베이스 간 데이터 쿼리를 참조하세요.
다음 예시를 사용하여 소스 tickit_zetl
에서 샘플 데이터를 만들어 sales_zetl
및 event_zetl
테이블에 삽입할 수 있습니다. 테이블은 Amazon Redshift 데이터베이스 zetl_int_db
에 복제됩니다.
CREATE TABLE sales_zetl ( salesid integer NOT NULL primary key, eventid integer NOT NULL, pricepaid decimal(8, 2) ); CREATE TABLE event_zetl ( eventid integer NOT NULL PRIMARY KEY, eventname varchar(200) ); INSERT INTO sales_zetl VALUES(1, 1, 3.33); INSERT INTO sales_zetl VALUES(2, 2, 4.44); INSERT INTO sales_zetl VALUES(3, 2, 5.55); INSERT INTO event_zetl VALUES(1, "Event 1"); INSERT INTO event_zetl VALUES(2, "Event 2");
다음 세 부분으로 구성된 표기법을 사용하여 이벤트당 총 매출을 구하는 구체화된 뷰를 생성할 수 있습니다.
--three part notation zetl-database-name.schema-name.table-name CREATE MATERIALIZED VIEW mv_transformed_sales_per_event_3p as (SELECT eventname, sum(pricepaid) as total_price FROM zetl_int_db.tickit_zetl.sales_zetl S, zetl_int_db.tickit_zetl.event_zetl E WHERE S.eventid = E.eventid GROUP BY 1);
다음 두 부분으로 구성된 표기법을 사용하여 이벤트당 총 매출을 구하는 구체화된 뷰를 생성할 수 있습니다.
--two part notation external-schema-name.table-name notation CREATE EXTERNAL schema ext_tickit_zetl FROM REDSHIFT DATABASE zetl_int_db SCHEMA tickit_zetl; CREATE MATERIALIZED VIEW mv_transformed_sales_per_event_2p AS ( SELECT eventname, sum(pricepaid) as total_price FROM ext_tickit_zetl.sales_zetl S, ext_tickit_zetl.event_zetl E WHERE S.eventid = E.eventid GROUP BY 1 );
생성한 구체화된 뷰를 보려면 다음 예시를 사용하세요.
SELECT * FROM mv_transformed_sales_per_event_3p;
+-----------+-------------+ | eventname | total_price | +-----------+-------------+ | Event 1 | 3.33 | | Event 2 | 9.99 | +-----------+-------------+
SELECT * FROM mv_transformed_sales_per_event_2p;
+-----------+-------------+ | eventname | total_price | +-----------+-------------+ | Event 1 | 3.33 | | Event 2 | 9.99 | +-----------+-------------+