Problemas de Apache Hive

Solucione problemas de Apache Hive para clusters de Big Data Service.

La consulta de Hive falla con una excepción de clase RegexSerDe no encontrada

La solución de problemas de la consulta de Hive falla con una excepción de clase RegexSerDe no encontrada.

El archivo jar hive-contrib, que incluye la clase {{org.apache.hadoop.hive.contrib.serde2.RegexSerDe}}, no se envía a los trabajos MapReduce/Tez por defecto.

Complete uno de los siguientes pasos:

  1. Agregue el jar de hive-contrib a la caché distribuida mediante el comando addJar.
  2. Utilice la clase {{org.apache.hadoop.hive.serde2.RegexSerDe}} disponible en el archivo jar de hive-serde. El archivo .jar hive-serde incluye la clase RegexSerDe junto con otras clases SerDe de uso común y se envía a los trabajos MapReduce/Tez por defecto. Por lo tanto, no es necesario que ejecute el comando addJar de forma explícita.

    Recomendamos esta opción.

Consulta de datos anidados en Object Storage

Fallo al solucionar problemas de trabajos de tablas externas.

Al crear una tabla externa mediante Hive con datos que están presentes en Object Storage y que están en una estructura de carpetas anidada, algunos trabajos fallan.

Nota

El formato de los almacenes de datos en Object Storage es parquet.

Para leer cualquier dato del almacenamiento de objetos sin fallos de trabajo, introduzca la siguiente configuración en Spark

  1. Acceda a Apache Ambari.
  2. En la barra de herramientas lateral, en Servicios, seleccione Spark3.
  3. Seleccione Configs (Configuración).
  4. Amplíe la sección Custom spark3-defaults.
  5. Establezca spark.sql.hive.convertMetastoreParquet en Falso.
  6. Amplíe la sección Custom spark3-hive-site-override.
  7. Defina mapred.input.dir.recursive en Verdadero.
  8. Seleccione Reiniciar.