SparkSQL CLI utiliza internamente HiveQL y en el caso de la Colmena en la chispa(la COLMENA 7292) , colmena utiliza chispa como backend del motor. Puede alguien arrojar algo más de luz, exactamente cómo estos dos escenarios son diferentes y los pros y los contras de ambos enfoques?

InformationsquelleAutor Gaurav Khare | 2015-07-24

3 Comentarios

  1. 19
    1. Cuando SparkSQL usos de la colmena

      SparkSQL puede utilizar HiveMetastore para obtener los metadatos de los datos almacenados en HDFS. Este tipo de metadatos permite SparkSQL para hacer una mejor optimización de las consultas que se ejecuta. Aquí Spark es el procesador de consultas.

    2. Cuando Colmena utiliza Chispa Ver la JIRA de entrada: COLMENA-7292

      Aquí el acceso a los datos a través de chispa. Y la Colmena es el procesador de Consultas. Así tenemos todos los digne características de Chispa Núcleo para tomar ventaja de. Pero esta es una Mejora Importante para la Colmena y todavía está «en progreso» como la de 2 de Febrero de 2016.

    3. Hay una tercera opción para procesar los datos con SparkSQL

      Uso SparkSQL sin el uso de la Colmena. Aquí SparkSQL no tiene acceso a los metadatos de la Colmena Metastore. Y de las consultas que se ejecutan más lentamente. He hecho algunas pruebas de rendimiento de la comparación de las opciones 1 y 3. Los resultados son aquí.

    • En la 3ª opción si SparkSQL no uso de la colmena metastore(que por defecto es el derby o puede ser mysql), entonces necesitamos para la instalación de metastore para SparkSQL así como usamos para hacer de la Colmena?
    • No es necesario configurar un metastore para SparkSQL. SparkSQL puede ser utilizado de muchas maneras. Pero en esta opción, un metastore el programa de instalación no es necesaria. Incluso sin necesidad de configurar la Colmena Metastore conexión, podemos utilizar el HiveContext clase de la sparksql-cli. Otra manera de mirar este concepto: SparkSQL pueden utilizar otras fuentes de datos como archivos csv, donde el Metastore concepto no es relevante.
    • Si metastore no es necesario, a continuación, cómo la Chispa de SQL seguir la pista de los metadatos de las tablas. Se tiene que almacenar esa información en algún lugar. Si se toma la ayuda de HiveContext entonces significa que todavía dependen de la Colmena metastore.
    • Vea un ejemplo de código para la Opción 3. Hay que registrar un java/scala clase con Chispa. Esta clase tiene los tipos de datos de su archivo de base de datos. Similar a lo que haría con hibernate en una JEE programa. Búsqueda de registerTempTable en este enlace
    • Yo estoy usando la chispa de sql para ejecutar una consulta de combinación. Supongo chispa sql utiliza chispa como motor de ejecución, sin embargo, ¿por qué estoy recibiendo esta línea INFO session.SessionState: No Tez session required at this point. hive.execution.engine=mr. en mis registros.
    • Creo que el uso de la colmena como almacenamiento de datos. Y el SparkSQL no se limitan al uso de la Tez como motor de datos. SparkSQL las consultas de datos de la Colmena, y Colmena utiliza Chispa como motor de datos. Es un dolor de cabeza lío.

  2. 12

    SparkSQL vs Chispa de la API, usted puede simplemente imagínese que usted está en RDBMS mundo:

    SparkSQL es puro SQL, y la Chispa de la API es idioma para la escritura de procedimiento almacenado

    Colmena en Spark es similar a SparkSQL, es un puro interfaz de SQL que utilizan chispa como motor de ejecución, SparkSQL usos de la Colmena de la sintaxis, así como un lenguaje, yo diría que son casi la misma.

    pero Colmena en Spark tiene mucho mejor soporte para la colmena características, especialmente hiveserver2 y características de seguridad, características de la colmena en SparkSQL es realmente buggy, hay un hiveserver2 impl en SparkSQL, pero en la última versión (1.6.x), hiveserver2 en SparkSQL no funciona con hivevar y hiveconf argumento más, y el nombre de usuario de inicio de sesión a través de jdbc no funciona bien…

    ver https://issues.apache.org/jira/browse/SPARK-13983

    creo colmena apoyo en la chispa de un proyecto realmente muy baja prioridad cosas…

    tristemente Colmena en la chispa de la integración no es fácil, hay un montón de dependencia de los conflictos… como
    https://issues.apache.org/jira/browse/HIVE-13301

    y, cuando estoy tratando de colmena con la chispa de la integración, para depurar propósito, estoy siempre a partir de la colmena de la cli como este:

    export HADOOP_USER_CLASSPATH_FIRST=true
    bin/hive --hiveconf hive.root.logger=DEBUG,console
    

    nuestro requisito es el uso de chispa con hiveserver2 en forma segura (con autenticación y autorización), actualmente SparkSQL por sí sola no puede proporcionar esto, estamos usando el ranger/sentry + Colmena en Chispa.

    espero que esto le puede ayudar a obtener una mejor idea de la dirección a la que debe ir.

  3. 1

    aquí está relacionada con la respuesta que me encuentre en la colmena sitio oficial:

    1.3 Comparación con Tiburón y la Chispa SQL 
    There are two related projects in the Spark ecosystem that provide Hive QL support on Spark: Shark and Spark SQL. 
    ●The Shark project translates query plans generated by Hive into its own representation and executes them over Spark.  
    ●Spark SQL is a feature in Spark. It uses Hive’s parser as the frontend to provide Hive QL support. Spark application developers can easily express their data processing logic in SQL, as well as the other Spark operators, in their code. Spark SQL supports a different use case than Hive. 

    Compared with Shark and Spark SQL, our approach by design supports all existing Hive features, including Hive QL (and any future extension), and Hive’s integration with authorization, monitoring, auditing, and other operational tools. 

    3. la Colmena-Level Dise 
    As noted in the introduction, this project takes a different approach from that of Shark or Spark SQL in the sense that we are not going to implement SQL semantics using Spark’s primitives. On the contrary, we will implement it using MapReduce primitives. The only new thing here is that these MapReduce primitives will be executed in Spark. In fact, only a few of Spark’s primitives will be used in this design. 

    The approach of executing Hive’s MapReduce primitives on Spark that is different from what Shark or Spark SQL does has the following direct advantages: 
    1.Spark users will automatically get the whole set of Hive’s rich features, including any new features that Hive might introduce in the future. 
    2.This approach avoids or reduces the necessity of any customization work in Hive’s Spark execution engine.

    3.It will also limit the scope of the project and reduce longterm maintenance by keeping Hive-on-Spark congruent to Hive MapReduce and Tez. 

Dejar respuesta

Please enter your comment!
Please enter your name here