hadoop - summoners - ¿Cómo obtener/generar la declaración de creación para una tabla de colmenas existente?
hive meaning (3)
Suponiendo que ya tiene "tabla" en Hive, ¿hay alguna manera rápida, como otras bases de datos, de poder obtener la declaración "CREAR" para esa tabla?
Describir formateado / extendido mostrará la definición de datos de la tabla en la colmena
hive> describe Formatted dbname.tablename;
Pasos para generar Crear ddls de tabla para todas las tablas en la base de datos de Hive y exportar a archivo de texto para ejecutarlo más tarde:
paso 1) crea un archivo .sh con el siguiente contenido, por ejemplo hive_table_ddl.sh
#!/bin/bash
rm -f tableNames.txt
rm -f HiveTableDDL.txt
hive -e "use $1; show tables;" > tableNames.txt
wait
cat tableNames.txt |while read LINE
do
hive -e "use $1;show create table $LINE" >>HiveTableDDL.txt
echo -e "/n" >> HiveTableDDL.txt
done
rm -f tableNames.txt
echo "Table DDL generated"
paso 2) Ejecute el script de shell anterior pasando ''db name'' como paramanter
>bash hive_table_dd.sh <<databasename>>
salida:
Todas las sentencias create table de su DB se escribirán en HiveTableDDL.txt
A partir de Hive 0.10, este patch-967 implementa SHOW CREATE TABLE
que "muestra la CREATE TABLE
que crea una tabla dada, o la instrucción CREATE VIEW
que crea una vista determinada".
Uso:
SHOW CREATE TABLE myTable;