Copiar dados entre o DynamoDB e uma tabela nativa do Hive - Amazon DynamoDB

Copiar dados entre o DynamoDB e uma tabela nativa do Hive

Caso tenha dados em uma tabela do DynamoDB, você poderá copiá-los para uma tabela nativa do Hive. Isso gerará um snapshot dos dados, a partir do momento em que você os copiou.

Você pode optar por fazer isso caso precise executar muitas consultas HiveQL, mas não deseja consumir o throughput provisionado do DynamoDB. Como os dados da tabela nativa do Hive são uma cópia dos dados do DynamoDB, e não dados "ao vivo", suas consultas não devem esperar que os dados sejam atualizados.

nota

Os exemplos nesta seção são escritos sob a premissa de que você seguiu as etapas de Tutorial: Como trabalhar com o Amazon DynamoDB e o Apache Hive e tem uma tabela externa chamada ddb_features no DynamoDB.

exemplo Do DynamoDB para a tabela nativa do Hive

Você pode criar uma tabela nativa do Hive e preenchê-la com dados de ddb_features, desta forma:

CREATE TABLE features_snapshot AS SELECT * FROM ddb_features;

Em seguida, você pode atualizar os dados a qualquer momento:

INSERT OVERWRITE TABLE features_snapshot SELECT * FROM ddb_features;

Nesses exemplos, a subconsulta SELECT * FROM ddb_features recuperará todos os dados de ddb_features. Se quiser copiar apenas um subconjunto dos dados, você pode usar uma cláusula WHERE na subconsulta.

O exemplo a seguir cria uma tabela nativa do Hive, contendo apenas alguns dos atributos para lagos e picos:

CREATE TABLE lakes_and_summits AS SELECT feature_name, feature_class, state_alpha FROM ddb_features WHERE feature_class IN ('Lake','Summit');
exemplo Da tabela nativa do Hive para o DynamoDB

Use a instrução HiveQL a seguir para copiar os dados da tabela nativa do Hive para ddb_features:

INSERT OVERWRITE TABLE ddb_features SELECT * FROM features_snapshot;