¿Cómo obtener / generar la instrucción create para una tabla hive existente?
Suponiendo que ya tiene "table" en Hive, ¿hay una forma rápida como otras bases de datos para poder obtener la instrucción "CREATE" para esa tabla?
3 answers
A partir de Hive 0.10 este parche -967 implementa SHOW CREATE TABLE
que "muestra la instrucción CREATE TABLE
que crea una tabla dada, o la instrucción CREATE VIEW
que crea una vista dada."
Uso:
SHOW CREATE TABLE myTable;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-09 07:08:19
Pasos para generar Crear tablas ddls para todas las tablas de la base de datos de la colmena y exportarlas a un archivo de texto para ejecutarlas más tarde:
Paso 1) cree un archivo. sh con el contenido a continuación, 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 tu BD se escribirán en HiveTableDDL.txt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-03 07:12:30
Describe Formatted / Extended mostrará la definición de datos de la tabla en la colmena
hive> describe Formatted dbname.tablename;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-08 15:12:56