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.
Consideraciones sobre el uso de Hive en Amazon EMR 4.x
En esta sección, se abordan las diferencias que deben tenerse en cuenta cuando se utiliza Hive versión 1.0.0 en las versiones 4.x de Amazon EMR, en comparación con Hive 2.x en las versiones 5.x de Amazon EMR.
No se admiten las transacciones ACID
Hive en las versiones 4.x de Amazon EMR no admite las transacciones ACID con datos de Hive almacenados en Amazon S3 cuando se utilizan las versiones 4.x. Si intenta crear una tabla de transacciones en Amazon S3, se produce una excepción.
Lectura y escritura en tablas de Amazon S3
Hive en las versiones 4.x de Amazon EMR puede escribir directamente en Amazon S3 sin utilizar archivos temporales. De esta forma se mejora el rendimiento, pero también impide que se pueda leer y escribir en la misma tabla de Amazon S3 dentro de la misma instrucción de Hive. Una solución consiste en crear y utilizar una tabla temporal en HDFS.
El siguiente ejemplo muestra cómo utilizar varias instrucciones de Hive para actualizar una tabla en Amazon S3. Las instrucciones crean una tabla temporal en HDFS denominada tmp
con base en una tabla de Amazon S3 denominada my_s3_table
. A continuación, la tabla de Amazon S3 se actualizará con el contenido de la tabla temporal.
CREATE TEMPORARY TABLE tmp LIKE my_s3_table; INSERT OVERWRITE TABLE tmp SELECT ....; INSERT OVERWRITE TABLE my_s3_table SELECT * FROM tmp;
Log4j y Log4j 2
Hive en las versiones de lanzamiento de Amazon EMR 4.x utiliza Log4j. A partir de la versión 5.0.0, se utiliza Log4j 2 de forma predeterminada. Estas versiones pueden requerir diferentes configuraciones del registro. Consulte Apache Log4j 2
MapReduce es el motor de ejecución predeterminado
Hive en las versiones 4.x de Amazon EMR utiliza MapReduce como el motor de ejecución predeterminado. A partir de la versión 5.0.0 de Amazon EMR, se utiliza Tez de forma predeterminada, que proporciona un mejor rendimiento para la mayoría de los flujos de trabajo.
Autorización de Hive
Hive en las versiones de lanzamiento de Amazon EMR 4.x admite Autorización de Hive
Comportamiento de combinación de archivos de Hive con Amazon S3
Hive en las versiones 4.x de Amazon EMR combina archivos pequeños al final de un trabajo de solo asignación si hive.merge.mapfiles
es true
. La combinación solo se activa si el tamaño de salida medio del trabajo es menor que el valor de hive.merge.smallfiles.avgsize
. Hive en Amazon EMR tiene exactamente el mismo comportamiento si la ruta de salida final se encuentra en HDFS. Sin embargo, si la ruta de salida se encuentra en Amazon S3, se omite el parámetro hive.merge.smallfiles.avgsize
. En esta situación, la tarea de combinación siempre se activa si hive.merge.mapfiles
está definido en true
.