hadoop - vista - Agregue PARTITION después de crear TABLE en la colmena
tablas hive (2)
He creado una tabla no particionada y carga datos en la tabla, ahora quiero agregar una PARTITION
sobre la base del departamento en esa tabla, ¿puedo hacer esto? Si lo hago:
ALTER TABLE Student ADD PARTITION (dept=''CSE'') location ''/test'';
Me da error:
FAILED: SemanticException table is not partitioned but partition spec exists: {dept=CSE}
por favor ayuda. Gracias
Primero crea una tabla de tal forma que no tengas una columna de partición en la tabla.
create external table Student(col1 string, col2 string) partitioned by (dept string) location ''ANY_RANDOM_LOCATION'';
Una vez que haya terminado con la creación de la tabla, modifique la tabla para agregar el departamento de partición de la siguiente manera:
alter table Student add partition(dept =''cse'') location ''/test'';
Espero que esto sea de ayuda.
No puede modificar la partición de la tabla si no definió la partición durante la creación de la tabla.
Si al modificar una tabla sin particiones para agregar una partición, aparece este error: "La tabla de excepciones semánticas no está particionada pero existe una especificación de partición: {dept = CSE}", significa que está intentando incluir las particiones en la tabla misma .
No obtiene el error de sintaxis porque la sintaxis del comando es correcta y se usa para modificar la columna de partición.
Obtenga más información sobre Hive Tables:
https://www.dezyre.com//hadoop-tutorial/apache-hive-tutorial-tables
También puede verificar la posible alternancia en la tabla:
https://sites.google.com/site/hadoopandhive/home/how-to-create-table-partition-in-hive
Espero que esto ayude.