Предполагая, что у вас уже есть «таблица» в Hive, есть ли быстрый способ, как и другие базы данных, получить оператор «CREATE» для этой таблицы?
91
Начиная с Hive 0.10, этот патч-967 реализует, SHOW CREATE TABLE
который «показывает CREATE TABLE
оператор, который создает данную таблицу, или CREATE VIEW
оператор, который создает данное представление».
Применение:
SHOW CREATE TABLE myTable;
Шаги по созданию ddls-файла Create table для всех таблиц в базе данных Hive и экспорта в текстовый файл для последующего запуска:
шаг 1) создайте файл .sh с указанным ниже содержимым, скажем, 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"
Шаг 2) Запустите указанный выше сценарий оболочки, передав 'имя базы данных' в качестве параметра
>bash hive_table_dd.sh <<databasename>>
выход :
Все операторы создания таблиц вашей БД будут записаны в HiveTableDDL.txt.
Describe Formatted / Extended покажет определение данных таблицы в кусте
hive> describe Formatted dbname.tablename;
источник