Suponiendo que ya tiene "tabla" en Hive, ¿hay una forma rápida como otras bases de datos para poder obtener la instrucción "CREATE" para esa tabla?
Respuestas:
A partir de Hive 0.10, este parche 967 implementa SHOW CREATE TABLE
que "muestra la CREATE TABLE
declaración que crea una tabla determinada, o la CREATE VIEW
declaración que crea una vista determinada".
Uso:
SHOW CREATE TABLE myTable;
Pasos para generar Create table ddls para todas las tablas en la base de datos de Hive y exportar a un archivo de texto para ejecutarlo más tarde:
paso 1) cree un archivo .sh con el contenido a continuación, digamos 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 declaraciones de creación de tablas de su base de datos se escribirán en HiveTableDDL.txt
Describe Formatted / Extended mostrará la definición de datos de la tabla en colmena
hive> describe Formatted dbname.tablename;