Creación de tablas basadas en conjuntos de datos cifrados en Amazon S3 - Amazon Athena

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de tablas basadas en conjuntos de datos cifrados en Amazon S3

Cuando cree una tabla, indique a Athena que un conjunto de datos está cifrado en Amazon S3. Esto no es necesario cuando se utiliza SSE-KMS. Tanto para el SSE-S3 como para el AWS KMS cifrado, Athena determina cómo descifrar el conjunto de datos y crear la tabla, por lo que no es necesario proporcionar información clave.

Los usuarios que ejecutan consultas, incluido el usuario que crea la tabla, deben tener los permisos descritos anteriormente en este tema.

importante

Si utiliza Amazon EMR junto con EMRFS para cargar archivos Parquet cifrados, debe desactivar las cargas multiparte estableciendo fs.s3n.multipart.uploads.enabled el valor false. Si no lo hace, Athena no podrá determinar la longitud del archivo Parquet y se producirá un error HIVE_CANNOT_OPEN_SPLIT. Para obtener más información, consulte Configuración de carga multiparte para Amazon S3 en la Guía de administración de Amazon EMR.

Para indicar que el conjunto de datos está cifrado en Amazon S3, realice uno de los pasos a continuación. Este paso no es necesario cuando se utiliza SSE-KMS.

  • En una instrucción CREATE TABLE (CREAR TABLA), utilice una cláusula TBLPROPERTIES que especifica 'has_encrypted_data'='true', como en el siguiente ejemplo.

    CREATE EXTERNAL TABLE 'my_encrypted_data' ( `n_nationkey` int, `n_name` string, `n_regionkey` int, `n_comment` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' LOCATION 's3://bucket/folder_with_my_encrypted_data/' TBLPROPERTIES ( 'has_encrypted_data'='true')
  • Utilice el controlador JDBC y establezca el valor TBLPROPERTIES como se indica en el ejemplo anterior cuando utilice statement.executeQuery() para ejecutar la instrucción CREATE TABLE (CREAR TABLA).

  • Cuando utilice la consola de Athena para crear una tabla mediante un formulario y especificar la ubicación de la tabla, seleccione la opción Encrypted data set (Conjunto de datos cifrados).

    
                            Seleccione Encrypted data set (Conjunto de datos cifrados) en el formulario para agregar tablas.

En la lista de tablas de la consola de Athena, las tablas cifradas muestran un icono con forma de llave.


                    Icono de tabla de cifrado