Hive modifica el nombre de la partición de tabla externa y renombra el nombre del directorio HDFS para no encontrar datos

  • Descripción del problema:

Una tabla externa table_1 creada por Hive tiene una partición almacenada en incrementos de días, dt = '2020-04-01'

Cambiamos el nombre de la partición ALTER TABLE a través del comando Hive a dt = '2020-03-31', también queremos cambiar el directorio HDFS correspondiente a dt = '2020-03-31'

¿Pero descubrió que los datos de la consulta están vacíos? ? ?

 

 

  • Razón:

Debido a que es una tabla externa, los registros de metadatos y datos de Hive se administran por separado, y el almacenamiento de datos real de las tablas depende de la administración de HDFS (NameNode).

Aquí usamos ALTER TABLE para modificar la partición de la tabla externa, el directorio dt = '2020-04-01' del enlace suave HDFS no ha cambiado, y podemos consultar los datos normalmente.

Cuando cambiamos el nombre del directorio HDFS y el nombre de partición de la tabla dt = '2020-03-31' para que sea coherente, de hecho, cuando se ejecuta SQL, también buscará los metadatos de Hive (el registro aún es dt = '2020-03-31 'Sí)

Pero el dt = '2020-03-31' de esta sección de enlace suave y el dt = '2020-04-01' de HDFS no son válidos, y el dt = '2020-04-01' no se pudo encontrar. Por lo tanto, no se pueden consultar los datos. Cuando usamos Hive -e para ejecutar, también veremos el informe de error correspondiente:

 

 

Entonces, para permitir que nuestra partición modificada cargue datos correctamente, eliminamos la partición original dt = '2020-03-31, creamos un nuevo dt =' 2020-03-31, y en el paso anterior, tenemos Cambie dt = '2020-04-01' del directorio HDFS a dt = '2020-03-31'. Debido a las características de la tabla externa, especificamos manualmente el directorio de la tabla al crear la tabla, por lo que el enlace suave se configura como dive = '2020-03-31 para Hive y dt =' 2020-03-31 para HDFS. En este momento, el directorio es coherente, se pueden consultar los datos y se resuelve el problema.

Supongo que te gusta

Origin blog.csdn.net/u012965373/article/details/105538977
Recomendado
Clasificación