DynamoDB とネイティブな Hive テーブル間でのデータのコピー - Amazon DynamoDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

DynamoDB とネイティブな Hive テーブル間でのデータのコピー

DynamoDB テーブル内に存在するデータは、ネイティブの Hive テーブルにコピーできます。これにより、コピーした時点のデータのスナップショットを作成できます。

多くの HiveQL クエリを実行する必要があるものの、DynamoDB からプロビジョニングされたスループットキャパシティーを消費したくない場合などに、この操作を行います。ネイティブ Hive テーブルのデータは DynamoDB からのデータのコピーであり、その時点でのデータではないため、クエリでは、データが最新であると想定することはできません。

注記

このセクションの例は、チュートリアル:Amazon DynamoDB と Apache Hive の使用 の手順に従い、および、ddb_features という名前の外部テーブルが DynamoDB に存在することを前提にしています。

例 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;