es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede leer la tabla Hive desde Spark.

No puedo leer la tabla Hive que he creado usando Spark, pero puedo ver las bases de datos.

val spark = SparkSession
    .builder()
    .config("spark.master", "local")
    .appName("interfacing spark sql to hive metastore without configuration file")
    .config("hive.metastore.uris", "thrift://3.96.56.4:9083") // reemplazar con la URL thrift de tu servicio de Hive Metastore
    .config("spark.sql.warehouse.dir", "/apps/hive/warehouse")
    .enableHiveSupport() // no olvides habilitar el soporte Hive
    .getOrCreate()

Con el código anterior, cuando puedo verificar las bases de datos, obtengo un resultado.

spark.sql("show databases").show()

+---------+
|namespace|
+---------+
|  default|
|     test|
+---------+

Pero al usar una consulta select, no puedo obtener el resultado de la tabla y me da un error:

org.apache.hadoop.hive.ql.metadata.HiveException: No se puede obtener la tabla student_data. Nombre del método no válido: ‘get_table_req’

¿Qué me falta agregar en la conexión?

Nota: Estoy intentando conectarme a un servidor remoto de Hive.

Actualización:
He realizado algunos cambios en las versiones, ahora obtengo un error diferente al intentar leer una tabla:

java.net.UnknownHostException

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que hay varios problemas diferentes en juego aquí. Vamos a analizarlo:

    1. No se puede obtener la tabla:

    El mensaje de error que estás viendo indica que hay un problema con el método que se llama para obtener los datos de la tabla. Es posible que haya una discrepancia entre la versión de Spark que estás usando y la versión de Hive con la que se creó la tabla. Asegúrate de que tus versiones de Spark y Hive sean compatibles (consulta https://cwiki.apache.org/confluence/display/Hive/Hive+and+Spark+Compatibility para obtener más información).

    Además, verifica que estás haciendo referencia correctamente al nombre de la tabla en tu consulta. Es posible que haya un error tipográfico o que la tabla no esté realmente en la base de datos que estás consultando.

    1. UnknownHostException:

    Este mensaje de error indica que el host (es decir, la dirección URL o IP) al que estás intentando conectarte no es reconocido. Verifica que hayas especificado correctamente la dirección de tu servidor remoto de Hive.

    Alternativamente, podría haber un problema de cortafuegos que impida el acceso al sistema remoto. Comunícate con tu administrador de sistemas para asegurarte de que tienes los permisos necesarios para acceder al sistema desde tu ubicación actual.

Comments are closed.