¿Qué es Apache Hive?
Apache Hive es un sistema de almacenamiento de datos distribuido y tolerante a errores que permite la realización de análisis a escala masiva. Un almacenamiento de datos proporciona un almacén central de información que se puede analizar con facilidad para tomar decisiones informadas y controladas por datos. Hive permite a los usuarios leer, escribir y administrar petabytes de datos con SQL.
Hive se basa en Apache Hadoop, un marco de código abierto que se utiliza para almacenar y procesar de manera eficiente grandes conjuntos de datos. Como resultado, Hive está integrado de manera estrecha con Hadoop y está diseñado para funcionar rápidamente con petabytes de datos. Lo que hace que Hive sea único es la capacidad de consultar grandes conjuntos de datos, gracias a Apache Tez o MapReduce, con una interfaz similar a la de SQL.
¿Cómo funciona Hive?
Hive se creó para permitir a personas familiarizadas con SQL que no son programadores trabajar con petabytes de datos mediante una interfaz similar a SQL llamada HiveQL. Las bases de datos relacionales tradicionales están diseñadas para consultas interactivas en conjuntos de datos pequeños y medianos y no procesan bien conjuntos de datos de gran tamaño. En su lugar, Hive utiliza el procesamiento por lotes para trabajar rápidamente en una base de datos distribuida muy grande. Hive transforma las consultas de HiveQL en trabajos de MapReduce o Tez que se ejecutan en el marco de programación de tareas distribuidas de Apache Hadoop, Yet Another Resource Negotiator (YARN). Consulta los datos almacenados en una solución de almacenamiento distribuido, como el sistema de archivos distribuidos de Hadoop (HDFS) o Amazon S3. Hive almacena los metadatos de sus bases de datos y tablas en un metaalmacén, que es un almacén respaldado por bases de datos o archivos que permite la extracción y el descubrimiento de datos con facilidad.
Hive incluye HCatalog, que es una capa de administración de tablas y almacenamiento que lee los datos del metaalmacén de Hive para facilitar la integración perfecta entre Hive, Apache Pig y MapReduce. Al usar el metaalmacén, HCatalog permite a Pig y MapReduce usar las mismas estructuras de datos que Hive, de modo que los metadatos no tienen que redefinirse para cada motor. Las aplicaciones personalizadas o las integraciones de terceros pueden usar WebHCat, que es una API RESTful para que HCatalog acceda a los metadatos de Hive y los reutilice.
¿Cuáles son las ventajas de Hive?
Rapidez
Hive está diseñado para gestionar con rapidez petabytes de datos mediante el procesamiento por lotes.
Familiaridad
Hive proporciona una interfaz familiar, similar a la de SQL, a la que pueden acceder quienes no son programadores.
Escalabilidad
Hive es fácil de distribuir y escalar en función de sus necesidades.
¿Cuáles son las diferencias entre Apache Hive y Apache HBase?
Apache HBase es una base de datos distribuida NoSQL que permite el acceso aleatorio, estrictamente coherente y en tiempo real a petabytes de datos. Apache Hive es un sistema de almacenamiento de datos distribuido que proporciona capacidades de consulta similares a las de SQL.
Características |
Apache Hive |
Apache HBase |
Función |
Motor de consultas similar a SQL diseñado para almacenes de datos de gran volumen. Es compatible con varios formatos de archivo. |
Almacén de clave-valor distribuido de baja latencia con capacidades de consulta personalizadas. Los datos se almacenan en un formato orientado a columnas. |
Tipo de procesamiento |
Procesamiento por lotes mediante marcos de computación Apache Tez o MapReduce. |
Procesamiento en tiempo real. |
Latencia |
De media a alta, según la capacidad de respuesta del motor de computación. El modelo de ejecución distribuida proporciona un rendimiento superior en comparación con los sistemas de consulta monolíticos, como un RDBMS, para los mismos volúmenes de datos. |
Baja, pero puede ser inconsistente. Las limitaciones estructurales de la arquitectura de HBase pueden provocar picos de latencia con cargas de escritura intensas. |
Integración con Hadoop |
Se ejecuta sobre Hadoop, con Apache Tez o MapReduce para el procesamiento y HDFS o Amazon S3 para el almacenamiento. |
Se ejecuta sobre HDFS o Amazon S3. |
Compatibilidad con SQL |
Proporciona capacidades de consulta similares a las de SQL con HiveQL. |
No es compatible con SQL por sí solo. Puede usar Apache Phoenix para capacidades de SQL. |
Esquema |
Esquema definido para todas las tablas. |
Sin esquema. |
Tipos de datos |
Admite datos estructurados y no estructurados. Admite de forma nativa tipos de datos SQL comunes, como INT, FLOAT y VARCHAR. |
Solo admite datos no estructurados. El usuario define las asignaciones de los campos de datos a los tipos de datos compatibles con Java. |
¿Cuáles son los casos de uso de Hive?
Guardian brinda a 27 millones de miembros la seguridad que merecen a través de productos y servicios de seguros y administración de patrimonio. Guardian usa Amazon EMR para ejecutar Apache Hive en un lago de datos de S3. Apache Hive se utiliza para el procesamiento por lotes. El lago de datos de S3 impulsa a Guardian Direct, una plataforma digital que permite a los consumidores investigar y comprar tanto productos de Guardian como productos de terceros del sector de los seguros.
FINRA, la Autoridad Reguladora de la Industria Financiera, es la mayor organización reguladora de títulos de valor independiente de Estados Unidos. Su tarea consiste en monitorizar y regular las prácticas del comercio financiero. FINRA usa Amazon EMR para ejecutar Apache Hive en un lago de datos de S3. La ejecución de Hive en los clústeres de EMR permite a FINRA procesar y analizar datos comerciales de hasta 90 000 000 000 de eventos mediante SQL. El lago de datos en la nube permitió ahorrar hasta 20 000 000 USD en comparación con la solución local de FINRA, y redujo de forma drástica el tiempo necesario para la recuperación y las actualizaciones.
Vanguard, un asesor de inversiones registrado en Estados Unidos, es el mayor proveedor de fondos de inversión y el segundo mayor proveedor de fondos cotizados en bolsa del mundo. Vanguard usa Amazon EMR para ejecutar Apache Hive en un lago de datos de S3. Los datos se almacenan en S3 y EMR crea un metaalmacén de Hive sobre esos datos. El metaalmacén de Hive contiene todos los metadatos sobre los datos y las tablas del clúster de EMR, lo que permite un análisis sencillo de los datos. Hive también permite a los analistas realizar consultas SQL ad hoc en los datos almacenados en el lago de datos de S3. La migración a un lago de datos de S3 con Amazon EMR ha permitido a más de 150 analistas de datos lograr la eficiencia operativa y ha reducido los costos de EC2 y EMR en 600 000 USD.
¿Cómo puede AWS brindar soporte a Hive?
Amazon EMR proporciona el marco Hadoop administrado más fácil, rápido y rentable, que permite a los clientes procesar grandes cantidades de datos en instancias de EC2 escalables de forma dinámica. Los clientes también pueden ejecutar otros marcos distribuidos populares, como Apache Hive, Spark, HBase, Presto y Flink en EMR.
Más información sobre Amazon EMR
Para comenzar a usar Apache Hive en AWS, cree una cuenta de AWS gratuita hoy mismo.
Siguientes pasos en AWS
Obtenga acceso instantáneo al nivel Gratuito de AWS.
Comience a crear en la consola de administración de AWS.