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;