DynamoDB와 고유 Hive 테이블 간 데이터 복사
DynamoDB 테이블에 데이터가 있을 경우 이 데이터를 고유 Hive 테이블로 복사할 수 있습니다. 그러면 복사 시점의 데이터 스냅샷이 제공됩니다.
수많은 HiveQL 쿼리를 수행해야 하지만 DynamoDB에서 프로비저닝된 처리량을 소비하지 않으려면 이렇게 할 수 있습니다. 고유 Hive 테이블의 데이터는 DynamoDB 내 데이터의 복사본이고 ‘실시간’ 데이터가 아니므로 쿼리에서 최신 데이터를 기대할 수 없습니다.
참고
이 단원의 예제는 자습서: Amazon DynamoDB 및 Apache Hive 작업의 단계를 완료했고 DynamoDB에 ddb_features라는 외부 테이블이 있다는 전제하에 작성되었습니다.
예 DynamoDB에서 고유 Hive 테이블로
다음과 같이 고유 Hive 테이블을 생성하여 ddb_features로부터 데이터를 채울 수 있습니다
CREATE TABLE features_snapshot AS SELECT * FROM ddb_features;
그런 다음 언제라도 데이터를 새로 고칠 수 있습니다.
INSERT OVERWRITE TABLE features_snapshot SELECT * FROM ddb_features;
이들 예제에서는 하위 쿼리 SELECT * FROM ddb_features
가 ddb_features에서 모든 데이터를 검색합니다. 데이터의 하위 집합만 복사하려면 하위 쿼리에 WHERE
절을 사용할 수 있습니다.
다음 예제는 호수 및 산정 속성을 일부만 포함하는 고유 Hive 테이블을 생성합니다.
CREATE TABLE lakes_and_summits AS SELECT feature_name, feature_class, state_alpha FROM ddb_features WHERE feature_class IN ('Lake','Summit');
예 고유 Hive 테이블에서 DynamoDB로
다음 HiveQL 문을 사용하여 고유 Hive 테이블에서 ddb_features로 데이터를 복사합니다.
INSERT OVERWRITE TABLE ddb_features SELECT * FROM features_snapshot;