Copia de datos entre DynamoDB y una tabla nativa de Hive - Amazon DynamoDB

Copia de datos entre DynamoDB y una tabla nativa de Hive

Si tiene datos en una tabla de DynamoDB, puede copiarlos en una tabla de Hive nativa. Al hacerlo, obtendrá una instantánea de los datos en el momento de la copia.

Puede ser algo conveniente si tiene que realizar muchas consultas de HiveQL, pero no desea consumir capacidad de rendimiento aprovisionada de DynamoDB. Dado que los datos de la tabla de Hive nativa son una copia de los datos de DynamoDB, y no son datos "en tiempo real", en las consultas no cabe esperar que los datos estén actualizados.

nota

Los ejemplos de esta sección se han escrito partiendo del supuesto de que ya ha llevado a cabo los pasos del Tutorial: Uso de Amazon DynamoDB y Apache Hive y de que ya dispone de una tabla externa en DynamoDB llamada ddb_features.

ejemplo Desde DynamoDB a una tabla nativa de Hive

Puede crear una tabla de Hive nativa y rellenarla con datos de ddb_features, así:

CREATE TABLE features_snapshot AS SELECT * FROM ddb_features;

A continuación, puede actualizar los datos en cualquier momento:

INSERT OVERWRITE TABLE features_snapshot SELECT * FROM ddb_features;

En estos ejemplos, la subconsulta SELECT * FROM ddb_features recuperará todos los datos de ddb_features. Si solamente desea copiar un subconjunto de los datos, puede usar una cláusula WHERE en la subconsulta.

En el siguiente ejemplo se crea una tabla de Hive nativa que únicamente contiene algunos de atributos de lagos y cumbres:

CREATE TABLE lakes_and_summits AS SELECT feature_name, feature_class, state_alpha FROM ddb_features WHERE feature_class IN ('Lake','Summit');
ejemplo Desde una tabla nativa de Hive a DynamoDB

La instrucción de HiveQL siguiente permite copiar los datos de la tabla de Hive nativa a ddb_features:

INSERT OVERWRITE TABLE ddb_features SELECT * FROM features_snapshot;