在 DynamoDB 和原生 Hive 資料表之間複製資料 - Amazon DynamoDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 DynamoDB 和原生 Hive 資料表之間複製資料

如果 DynamoDB 資料表中有資料,您可以將這些資料複製到原生 Hive 資料表。這會為您提供截至資料複製時間的資料快照。

如果您需要執行許多 HiveQL 查詢,但又不想消耗 DynamoDB 佈建的輸送容量,則可以決定這樣做。由於原生 Hive 資料表中的資料是 DynamoDB 中的資料副本,而非「即時」資料,因此您的查詢不應預期資料為。 up-to-date

注意

本節中的範例假設您會遵循 教學課程:使用 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;