¿Cuándo usar Hadoop, HBase, Hive y Pig?

185

¿Cuáles son los beneficios de usar Hadoop o HBase o Hive ?

Según tengo entendido, HBase evita el uso de map-reduce y tiene un almacenamiento orientado a columnas sobre HDFS. Hive es una interfaz tipo sql para Hadoop y HBase .

También me gustaría saber cómo se compara Hive con Pig .

Khalefa
fuente
Hadoop : Sistema de archivos distribuidos de Hadoop + modelo de procesamiento computacional MapReduce. HBase : almacenamiento de valor clave, bueno para leer y escribir casi en tiempo real. Colmena : se utiliza para la extracción de datos del HDFS utilizando una sintaxis similar a SQL Pig : es un lenguaje de flujo de datos para crear ETL.
dbustosp

Respuestas:

348

MapReduce es solo un marco informático . HBase no tiene nada que ver con eso. Dicho esto, puede colocar o recuperar datos de manera eficiente desde / hacia HBase escribiendo trabajos MapReduce. Alternativamente, puede escribir programas secuenciales utilizando otras API de HBase, como Java, para colocar o recuperar los datos. Pero usamos Hadoop, HBase, etc. para manejar cantidades gigantescas de datos, por lo que eso no tiene mucho sentido. El uso de programas secuenciales normales sería altamente ineficiente cuando sus datos sean demasiado grandes.

Volviendo a la primera parte de su pregunta, Hadoop es básicamente 2 cosas: un Sistema de archivos distribuido (HDFS) + un marco de cómputo o procesamiento (MapReduce) . Al igual que todos los demás FS, HDFS también nos proporciona almacenamiento, pero de manera tolerante a fallas con un alto rendimiento y un menor riesgo de pérdida de datos (debido a la replicación). Pero, al ser un FS, HDFS carece de acceso aleatorio de lectura y escritura . Aquí es donde HBase entra en escena. Es un almacén distribuido, escalable y de grandes datos , modelado a partir de la BigTable de Google. Almacena datos como pares clave / valor.

Viniendo a la colmena. Nos proporciona instalaciones de almacenamiento de datos sobre un clúster Hadoop existente. Junto con eso, proporciona una interfaz similar a SQL que facilita su trabajo, en caso de que provenga de un fondo SQL. Puede crear tablas en Hive y almacenar datos allí. Junto con eso, incluso puede asignar sus tablas HBase existentes a Hive y operarlas.

Si bien Pig es básicamente un lenguaje de flujo de datos que nos permite procesar enormes cantidades de datos de manera fácil y rápida. Básicamente, Pig tiene 2 partes: el intérprete de Pig y el lenguaje PigLatin . Escribes un script de Pig en PigLatin y el intérprete de Pig los procesa. Pig hace nuestra vida mucho más fácil, de lo contrario escribir MapReduce no siempre es fácil. De hecho, en algunos casos realmente puede convertirse en un dolor.

Había escrito un artículo sobre una breve comparación de diferentes herramientas del ecosistema Hadoop hace algún tiempo. No es una comparación en profundidad, sino una breve introducción a cada una de estas herramientas que puede ayudarlo a comenzar. (Solo para agregar a mi respuesta. No se pretende autopromoción)

Las consultas de Hive y Pig se convierten en trabajos MapReduce debajo del capó.

HTH

Tariq
fuente
yarn
Olvidas
53

Implementé una plataforma Hive Data recientemente en mi empresa y puedo hablar en primera persona desde que era un equipo de un solo hombre.

Objetivo

  1. Para que los archivos de registro web diarios se recopilen de más de 350 servidores que se pueden consultar diariamente a través de un lenguaje similar a SQL
  2. Para reemplazar los datos de agregación diaria generados a través de MySQL con Hive
  3. Cree informes personalizados a través de consultas en Hive

Opciones de arquitectura

Comparé las siguientes opciones:

  1. Colmena + HDFS
  2. Hive + HBase : las consultas eran demasiado lentas, así que descarté esta opción

Diseño

  1. Los archivos de registro diarios fueron transportados a HDFS
  2. Los trabajos de MR analizaron estos archivos de registro y archivos de salida en HDFS
  3. Cree tablas de Hive con particiones y ubicaciones que apunten a ubicaciones HDFS
  4. Cree scripts de consulta de Hive ( llámelo HQL si lo prefiere como diferencia de SQL ) que a su vez ejecutó trabajos de MR en segundo plano y generó datos de agregación
  5. Ponga todos estos pasos en un flujo de trabajo de Oozie , programado con el Coordinador diario de Oozie

Resumen

HBase es como un mapa. Si conoce la clave, puede obtener el valor al instante. Pero si desea saber cuántas claves enteras en Hbase están entre 1000000 y 2000000, eso no es adecuado solo para Hbase .

Si tiene datos que deben agregarse, acumularse, analizarse en filas, considere Hive .

Espero que esto ayude.

Colmena en realidad rocas ... Lo sé, lo he vivido durante 12 meses ... También lo hace HBase ...

Sanjay Subramanian
fuente
1
HBase es una base de datos no SQL que almacena datos en HDFS. Se utiliza cuando necesita acceso de lectura / escritura aleatorio y en tiempo real a sus grandes datos.
Root Loop el
28

Hadoop es un marco que permite el procesamiento distribuido de grandes conjuntos de datos en grupos de computadoras utilizando modelos de programación simples.

Hay cuatro módulos principales en Hadoop.

  1. Hadoop Common : las utilidades comunes que admiten los otros módulos de Hadoop.

  2. Sistema de archivos distribuidos de Hadoop ( HDFS ™ ): un sistema de archivos distribuido que proporciona acceso de alto rendimiento a los datos de la aplicación.

  3. Hadoop YARN : un marco para la programación de trabajos y la gestión de recursos de clúster.

  4. Hadoop MapReduce : un sistema basado en HILO para el procesamiento paralelo de grandes conjuntos de datos.

Antes de continuar, tengamos en cuenta que tenemos tres tipos diferentes de datos.

  • Estructurado : los datos estructurados tienen un esquema sólido y el esquema se verificará durante la operación de escritura y lectura. Por ejemplo, datos en sistemas RDBMS como Oracle, MySQL Server, etc.

  • No estructurado : los datos no tienen ninguna estructura y pueden ser de cualquier forma: registros del servidor web, correo electrónico, imágenes, etc.

  • Semi-estructurado : los datos no están estrictamente estructurados pero tienen alguna estructura. por ejemplo, archivos XML.

Dependiendo del tipo de datos a procesar, tenemos que elegir la tecnología adecuada.

Algunos proyectos más, que son parte de Hadoop:

  • HBase ™ : una base de datos escalable y distribuida que admite el almacenamiento de datos estructurados para tablas grandes.

  • Hive ™: una infraestructura de almacenamiento de datos que proporciona resumen de datos y consultas ad-hoc.

  • Pig ™ : un lenguaje de alto nivel de flujo de datos y marco de ejecución para computación paralela.

La comparación de Hive Vs PIG se puede encontrar en este artículo y en mi otra publicación en esta pregunta SE .

HBASE no reemplazará Map Reduce. HBase es una base de datos distribuida escalable y Map Reduce es un modelo de programación para el procesamiento distribuido de datos. Map Reduce puede actuar sobre los datos en HBASE en el procesamiento.

Puede usar HIVE / HBASE para datos estructurados / semiestructurados y procesarlos con Hadoop Map Reduce

Puede usar SQOOP para importar datos estructurados de la base de datos RDBMS tradicional Oracle, SQL Server, etc. y procesarlos con Hadoop Map Reduce

Puede usar FLUME para procesar datos no estructurados y procesar con Hadoop Map Reduce

Echa un vistazo a: Casos de uso de Hadoop .

Hive debe usarse para consultas analíticas de datos recopilados durante un período de tiempo. Por ejemplo, calcular tendencias, resumir los registros del sitio web, pero no se puede utilizar para consultas en tiempo real.

HBase se adapta a las consultas en tiempo real de Big Data. Facebook lo usa para mensajes y análisis en tiempo real.

PIG se puede utilizar para construir flujos de datos, ejecutar trabajos programados, procesar grandes volúmenes de datos, agregarlos / resumirlos y almacenarlos en sistemas de bases de datos de relaciones. Bueno para análisis ad-hoc.

Hive se puede utilizar para el análisis de datos ad-hoc, pero no puede admitir todos los formatos de datos no estructurados a diferencia de PIG.

Ravindra babu
fuente
Facebook ya no usa HBase de código abierto para sistemas de mensajería en tiempo real. Lo reemplazaron con su propia [base de datos Myrocks]. ( engineering.fb.com/core-data/… )
PPK
23

Tenga en cuenta que trabaja con RDBMS y tiene que seleccionar qué usar (escaneos completos de tablas o acceso al índice), pero solo uno de ellos.
Si selecciona el escaneo completo de la tabla, use la colmena. Si el acceso al índice - HBase.

David Gruzman
fuente
En realidad, puede construir Hive en HBase para que pueda usar HQL para escanear completamente hbase mientras puede realizar consultas indexadas en hbase directamente. Pero dudo que esto le brinde un rendimiento más lento en el escaneo completo.
FrostNovaZzz
HBase es un sistema orientado a la escritura, no es óptimo en los escaneos, aunque los datos se almacenan ordenados. Entonces, si bien el escaneo de algunos rangos puede ser una buena opción, los escaneos completos serán mucho más lentos que directamente desde HDFS
David Gruzman
5

Para una comparación entre Hadoop Vs Cassandra / HBase, lea esta publicación .

Básicamente, HBase permite una lectura y escritura realmente rápidas con escalabilidad. ¿Qué tan rápido y escalable? Facebook lo usa para administrar sus estados de usuario, fotos, mensajes de chat, etc. HBase es tan rápido que a veces Facebook ha desarrollado pilas para usar HBase como el almacén de datos para Hive.

Where As Hive es más como una solución de Data Warehousing. Puede usar una sintaxis similar a SQL para consultar el contenido de Hive que resulta en un trabajo Map Reduce. No es ideal para sistemas transaccionales rápidos.

Shazin
fuente
5

Trabajé en el procesamiento de la arquitectura Lambda en tiempo real y cargas por lotes. El procesamiento en tiempo real es necesario cuando se deben tomar decisiones rápidas en caso de envío de alarma de incendio por sensor o detección de fraude en caso de transacciones bancarias. El procesamiento por lotes es necesario para resumir los datos que se pueden alimentar a los sistemas de BI.

utilizamos Hadoop tecnologías del ecosistema para las aplicaciones anteriores.

Procesamiento en tiempo real

Apache Storm: procesamiento de datos de flujo, aplicación de reglas

HBase: almacén de datos para servir el panel en tiempo real

Procesamiento por lotes Hadoop: procesamiento de una gran cantidad de datos. Descripción general de 360 ​​grados o agregar contexto a los eventos. Las interfaces o marcos como Pig, MR, Spark, Hive, Shark ayudan en la informática. Esta capa necesita un planificador para el que Oozie es una buena opción.

Capa de manejo de eventos

Apache Kafka fue la primera capa en consumir eventos de alta velocidad del sensor. Kafka sirve el flujo de datos de análisis en tiempo real y por lotes a través de conectores Linkedin.

akshat thakar
fuente
5

Entendiendo en profundidad

Hadoop

Hadoopes un proyecto de código abierto de la Apachefundación. Es un marco escrito Java, desarrollado originalmente por Doug Cutting en 2005. Fue creado para admitir la distribución Nutchdel motor de búsqueda de texto. Hadooputiliza las Map Reducetecnologías de sistema de archivos de Google y Google como base.

Características de Hadoop

  1. Está optimizado para manejar cantidades masivas de datos estructurados, semiestructurados y no estructurados utilizando hardware básico.
  2. No ha compartido nada de arquitectura.
  3. Replica sus datos en varias computadoras para que, si una falla, los datos puedan procesarse desde otra máquina que almacene su réplica.
  4. Hadoopes para alto rendimiento en lugar de baja latencia. Es una operación por lotes que maneja cantidades masivas de datos; por lo tanto, el tiempo de respuesta no es inmediato.
  5. Complementa el procesamiento de transacciones en línea y el procesamiento analítico en línea. Sin embargo, no es un reemplazo para a RDBMS.
  6. No es bueno cuando el trabajo no puede ser paralelo o cuando hay dependencias dentro de los datos.
  7. No es bueno para procesar archivos pequeños. Funciona mejor con grandes archivos de datos y conjuntos de datos.

Versiones de Hadoop

Hay dos versiones de Hadoopdisponibles:

  1. Hadoop 1.0
  2. Hadoop 2.0

Hadoop 1.0

Tiene dos partes principales:

1. Marco de almacenamiento de datos

Es un sistema de archivos de uso general llamado Hadoop Distributed File System ( HDFS).

HDFS no tiene esquema

Simplemente almacena archivos de datos y estos archivos de datos pueden estar en casi cualquier formato.

La idea es almacenar archivos tan cerca de su forma original como sea posible.

Esto a su vez proporciona a las unidades de negocio y a la organización la flexibilidad y agilidad que tanto necesitan sin preocuparse demasiado por lo que puede implementar.

2. Marco de procesamiento de datos

Este es un modelo de programación funcional simple inicialmente popularizado por Google como MapReduce.

Básicamente utiliza dos funciones: MAPy REDUCEpara procesar datos.

Los "Mappers" toman un conjunto de pares clave-valor y generan datos intermedios (que es otra lista de pares clave-valor).

Los "Reductores" luego actúan sobre esta entrada para producir los datos de salida.

Las dos funciones aparentemente funcionan de forma aislada entre sí, lo que permite que el procesamiento se distribuya altamente en forma altamente paralela, de tolerancia a fallas y escalable.

Limitaciones de Hadoop 1.0

  1. La primera limitación fue el requisito de MapReduceexperiencia en programación.

  2. Solo admitía el procesamiento por lotes que, aunque es adecuado para tareas como el análisis de registros, proyectos de minería de datos a gran escala, pero bastante inadecuado para otros tipos de proyectos.

  3. Una limitación importante fue que Hadoop 1.0estaba estrechamente relacionada con la computación MapReduce, lo que significaba que los proveedores de administración de datos establecidos se quedaron con dos opiniones:

    1. Reescriba su funcionalidad MapReducepara que pueda ejecutarse Hadoopo

    2. Extraer datos HDFSo procesarlos fuera de Hadoop.

Ninguna de las opciones era viable ya que conducía a ineficiencias de proceso causadas por los datos que se movían dentro y fuera del Hadoopclúster.

Hadoop 2.0

En Hadoop 2.0, HDFSsigue siendo el marco de almacenamiento de datos.

Sin embargo, una nueva y separada marco de gestión de recurso llamado Y et Un tro R esource N egotiater ( HILO ) ha sido añadido.

YARN admite cualquier aplicación capaz de dividirse en tareas paralelas.

YARN coordina la asignación de subtareas de la solicitud presentada, mejorando así la flexibilidad, escalabilidad y eficiencia de las aplicaciones.

Funciona al tener un Application Master en lugar de Job Tracker , ejecutando aplicaciones en recursos gobernados por el nuevo Node Manager .

ApplicationMaster puede ejecutar cualquier aplicación y no solo MapReduce.

Esto significa que no solo admite el procesamiento por lotes sino también el procesamiento en tiempo real. MapReduceya no es la única opción de procesamiento de datos.

Ventajas de Hadoop

Almacena datos en su origen de. No se impone ninguna estructura al teclear o almacenar datos. HDFSes un esquema menos. Solo más tarde, cuando los datos deben procesarse, la estructura se impone a los datos sin procesar.

Es escalable Hadooppuede almacenar y distribuir conjuntos de datos muy grandes en cientos de servidores económicos que operan en paralelo.

Es resistente al fracaso. Hadoopes tolerancia a fallas Practica la replicación de datos diligentemente, lo que significa que cada vez que se envían datos a cualquier nodo, los mismos datos también se replican a otros nodos en el clúster, asegurando así que en caso de falla del nodo, siempre habrá otra copia de datos disponible para su uso.

Es flexible. Una de las principales ventajas Hadoopes que puede funcionar con cualquier tipo de datos: estructurados, no estructurados o semiestructurados. Además, el procesamiento es extremadamente rápido Hadoopdebido al paradigma de "mover código a datos".

Ecosistema Hadoop

Los siguientes son los componentes del Hadoopecosistema:

HDFS : HadoopSistema de archivos distribuido. Simplemente almacena los archivos de datos lo más cerca posible del formulario original.

HBase : es la base de datos de Hadoop y se compara bien con una RDBMS. Es compatible con el almacenamiento de datos estructurados para tablas grandes.

Colmena : permite el análisis de grandes conjuntos de datos utilizando un lenguaje muy similar al estándar ANSI SQL, lo que implica que cualquier persona familiarizada SQLdebería poder acceder a los datos en un Hadoopclúster.

Pig : es un lenguaje de flujo de datos fácil de entender. Ayuda con el análisis de grandes conjuntos de datos, lo cual es bastante adecuado Hadoop. PigEl intérprete convierte automáticamente los scripts en MapReducetrabajos Pig.

ZooKeeper : es un servicio de coordinación para aplicaciones distribuidas.

Oozie : Es un schedularsistema de flujo de trabajo para administrar Hadooptrabajos de Apache .

Mahout : es una biblioteca escalable de aprendizaje automático y minería de datos.

Chukwa : Es un sistema de recopilación de datos para gestionar grandes sistemas distribuidos.

Sqoop : se utiliza para transferir datos masivos entre Hadoopalmacenes de datos estructurados como bases de datos relacionales.

Ambari : es una herramienta basada en la web para aprovisionar, administrar y monitorear Hadoopclústeres.

Colmena

Hivees una herramienta de infraestructura de almacenamiento de datos para procesar datos estructurados Hadoop. Reside además Hadooppara resumir Big Data y facilita la consulta y el análisis.

La colmena no es

  1. Una base de datos relacional

  2. Un diseño para el procesamiento de transacciones en línea ( OLTP).

  3. Un lenguaje para consultas en tiempo real y actualizaciones a nivel de fila.

Características de la colmena

  1. Almacena el esquema en la base de datos y procesa los datos en HDFS.

  2. Está diseñado para OLAP.

  3. Proporciona SQLlenguaje de tipo para consultas llamadas HiveQLo HQL.

  4. Es más familiar, rápido, escalable y extensible.

Arquitectura de la colmena

Los siguientes componentes están contenidos en Hive Architecture:

  1. Interfaz de usuario : Hivees una data warehouseinfraestructura que puede crear interacción entre el usuario y HDFS. Las interfaces de usuario que Hiveadmiten son Hive Web UI, Hive Command line y Hive HD Insight (en Windows Server).

  2. MetaStore : Hiveelige el respectivo database serverspara almacenar el esquema o Metadatade tablas, bases de datos, columnas en una tabla, sus tipos de datos y HDFSmapeo.

  3. HiveQL Process Engine : HiveQLes similar a la SQLconsulta de información de esquema en el Metastore. Es uno de los reemplazos del enfoque tradicional para el MapReduceprograma. En lugar de escribir MapReduceen Java, podemos escribir una consulta para MapReducey procesarla.

  4. Exceution Engine : La parte de conjunción del HiveQLmotor de proceso y MapReducees el Hivemotor de ejecución. El motor de ejecución procesa la consulta y genera resultados igual que MapReduce results. Utiliza el sabor de MapReduce.

  5. HDFS o HBase : HadoopSistema de archivos distribuido o HBaseson las técnicas de almacenamiento de datos para almacenar datos en el sistema de archivos.

Pankti
fuente
1

En primer lugar, debemos aclarar que Hadoop se creó como una alternativa más rápida a RDBMS . Para procesar gran cantidad de datos a una velocidad muy rápida, que anteriormente requería mucho tiempo en RDBMS.

Ahora uno debe saber los dos términos:

  1. Datos estructurados : estos son los datos que utilizamos en RDBMS tradicionales y se dividen en estructuras bien definidas.

  2. Datos no estructurados : es importante entender esto, aproximadamente el 80% de los datos mundiales son no estructurados o semiestructurados. Estos son los datos que están en su forma cruda y no pueden procesarse usando RDMS. Ejemplo: facebook, datos de twitter. ( http://www.dummies.com/how-to/content/unstructured-data-in-a-big-data-environment.html ).

Por lo tanto, se generó una gran cantidad de datos en los últimos años y los datos fueron en su mayoría no estructurados, lo que dio a luz a HADOOP. Se usó principalmente para una gran cantidad de datos que lleva una cantidad de tiempo inviable usando RDBMS. Tenía muchos inconvenientes, que no podía usarse para datos comparativamente pequeños en tiempo real, pero lograron eliminar sus inconvenientes en la versión más reciente.

Antes de continuar, me gustaría decir que se crea una nueva herramienta de Big Data cuando ven una falla en las herramientas anteriores. Entonces, cualquier herramienta que vea que se crea se ha hecho para superar el problema de las herramientas anteriores.

Hadoop se puede decir simplemente como dos cosas: Mapreduce y HDFS . Mapreduce es donde tiene lugar el procesamiento y HDFS es la base de datos donde se almacenan los datos. Esta estructura siguió el principio WORM , es decir, escribir una vez, leer varias veces. Entonces, una vez que hemos almacenado datos en HDFS, no podemos hacer cambios. Esto llevó a la creación de HBASE , un producto NOSQL donde podemos hacer cambios en los datos también después de escribirlos una vez.

Pero con el tiempo vimos que Hadoop tenía muchas fallas y para eso creamos un entorno diferente sobre la estructura de Hadoop. PIG y HIVE son dos ejemplos populares.

HIVE fue creado para personas con antecedentes de SQL . Las consultas escritas son similares a SQL nombradas como HIVEQL . HIVE fue desarrollado para procesar datos completamente estructurados . No se utiliza para datos estructurados.

PIG, por otro lado, tiene su propio lenguaje de consulta, es decir, PIG LATIN . Puede ser utilizado tanto para la estructura , así como los datos no estructurados .

Pasando a la diferencia de cuándo usar HIVE y cuándo usar PIG, no creo que nadie más que el arquitecto de PIG pueda decir. Siga el enlace: https://developer.yahoo.com/blogs/hadoop/comparing-pig-latin-sql-constructing-data-processing-pipelines-444.html


fuente
1

Hadoop

HDFS significa Hadoop Distributed File System que utiliza el modelo de procesamiento computacional Map-Reduce.

HBase:

HBase es un almacenamiento de valor clave, bueno para leer y escribir casi en tiempo real.

Colmena:

Hive se utiliza para la extracción de datos del HDFS utilizando una sintaxis similar a SQL. La colmena usa lenguaje HQL.

Cerdo:

Pig es un lenguaje de flujo de datos para crear ETL. Es un lenguaje de script.

nixxo_raa
fuente
0

Déjame intentar responder en pocas palabras.

Hadoop es un ecosistema que comprende todas las demás herramientas. Entonces, no puedes comparar Hadoop pero puedes comparar MapReduce.

Aquí están mis pocos centavos:

  1. Hive: si su necesidad es muy SQLish, lo que significa que su enunciado del problema puede ser atendido por SQL, entonces lo más fácil sería utilizar Hive. El otro caso, cuando usaría Hive es cuando desea que un servidor tenga cierta estructura de datos.
  2. Pig: Si te sientes cómodo con Pig Latin y necesitas más de las canalizaciones de datos. Además, sus datos carecen de estructura. En esos casos, podrías usar Pig. Honestamente, no hay mucha diferencia entre Hive y Pig con respecto a los casos de uso.
  3. MapReduce: si su problema no se puede resolver utilizando SQL directamente, primero debe intentar crear UDF para Hive & Pig y luego, si el UDF no está resolviendo el problema, tiene sentido hacerlo a través de MapReduce.
Sandeep Giri
fuente
0

Pig: es mejor manejar archivos y datos de limpieza Ejemplo: eliminar valores nulos, manejo de cadenas, valores innecesarios Colmena: para consultar datos limpios

y durga prasad
fuente
0

1.Estamos utilizando Hadoop para almacenar datos grandes (datos de estructura, desestructuración y semiestructura) en el formato de archivo de formulario como txt, csv.

2. Si queremos actualizaciones en columnas en nuestros datos, entonces estamos usando la herramienta Hbase

3. En el caso de Hive, estamos almacenando Big data que está en formato estructurado y, además, estamos proporcionando análisis sobre esos datos.

4.Pig es una herramienta que utiliza el lenguaje latino Pig para analizar datos que están en cualquier formato (estructura, semistructura y desestructuración).

swaroop
fuente
0

La limpieza de datos en Pig es muy fácil, un enfoque adecuado sería limpiar los datos a través de pig y luego procesar los datos a través de la colmena y luego cargarlos en hdfs.

Akshay Sharma
fuente
0

El uso de Hive, Hbase y Pig fue mi experiencia en tiempo real en diferentes proyectos.

La colmena se usa principalmente para:

  • Propósito analítico donde necesita hacer análisis sobre datos históricos

  • Generación de informes comerciales basados ​​en ciertas columnas.

  • Gestión eficiente de los datos junto con información de metadatos

  • Unir tablas en ciertas columnas que se usan con frecuencia mediante el concepto de agrupación

  • Almacenamiento y consulta eficiente utilizando el concepto de particionamiento

  • No es útil para operaciones a nivel de transacción / fila como actualizar, eliminar, etc.

El cerdo se usa principalmente para:

  • Análisis de datos frecuentes en grandes datos.

  • Generar valores / recuentos agregados en grandes datos

  • Generar indicadores clave de rendimiento a nivel empresarial con mucha frecuencia

Hbase se usa principalmente:

  • Para el procesamiento de datos en tiempo real

  • Para gestionar eficientemente el esquema complejo y anidado

  • Para consultas en tiempo real y resultados más rápidos

  • Para facilitar la escalabilidad con columnas

  • Útil para operaciones a nivel de transacción / fila como actualizar, eliminar, etc.

usuario1326784
fuente
0

La respuesta corta a esta pregunta es:

Hadoop: es un marco que facilita el sistema de archivos distribuido y el modelo de programación que nos permite almacenar datos de gran tamaño y procesar datos de manera distribuida de manera muy eficiente y con muy poco tiempo de procesamiento en comparación con los enfoques tradicionales.

(HDFS - Sistema de archivos distribuidos Hadoop) (Map Reduce - Modelo de programación para procesamiento distribuido)

Colmena: es un lenguaje de consulta que permite leer / escribir datos del sistema de archivos distribuido de Hadoop de una manera muy popular como SQL. Esto hizo la vida más fácil para muchas personas en segundo plano que no son de programación, ya que ya no tienen que escribir el programa Map-Reduce, excepto en escenarios muy complejos donde Hive no es compatible.

Hbase: es una base de datos NoSQL en columnas. La capa de almacenamiento subyacente para Hbase es nuevamente HDFS. El caso de uso más importante para esta base de datos es poder almacenar miles de millones de filas con millones de columnas. La función de baja latencia de Hbase ayuda al acceso más rápido y aleatorio del registro sobre los datos distribuidos, es una característica muy importante para que sea útil para proyectos complejos como los motores de recomendación. Además, su capacidad de control de versiones a nivel de registro permite al usuario almacenar datos transaccionales de manera muy eficiente (esto resuelve el problema de actualizar los registros que tenemos con HDFS y Hive)

Espero que esto sea útil para comprender rápidamente las 3 características anteriores.

Ajay Ahuja
fuente
0

Creo que este hilo no ha hecho en particular justicia a HBase y Pig en particular. Si bien creo que Hadoop es la opción del sistema de archivos distribuido y resistente para implementaciones de grandes lagos de datos, la elección entre HBase y Hive está particularmente bien segregada.

Como en muchos casos de uso, tienen un requisito particular de interfaces similares a SQL o No SQL. Con Phoenix en la cima de HBase, aunque las capacidades similares a SQL son ciertamente alcanzables, sin embargo, el rendimiento, las integraciones de terceros, la actualización del tablero son una especie de experiencias dolorosas. Sin embargo, es una excelente opción para bases de datos que requieren escala horizontal.

Pig es particularmente excelente para lotes no recursivos como cálculos o canalizaciones ETL (en algún lugar, donde supera a Spark en una distancia cómoda). Además, sus implementaciones de flujo de datos de alto nivel son una excelente opción para consultas por lotes y secuencias de comandos. La elección entre Pig y Hive también se basa en la necesidad de las secuencias de comandos del lado del cliente o del servidor, los formatos de archivo requeridos, etc. Pig admite el formato de archivo Avro que no es cierto en el caso de Hive. La elección de 'lenguaje de flujo de datos de procedimiento' versus 'lenguaje de flujo de datos declarativo' también es un argumento sólido para la elección entre cerdo y colmena.


fuente