Предполагая, что у вас уже есть «таблица» в Hive, есть ли быстрый способ, как и другие базы данных, получить оператор «CREATE» для этой таблицы?
Как получить / сгенерировать оператор создания для существующей таблицы улья?
Ответы (3)
Начиная с Hive 0.10 это patch-967 реализует SHOW CREATE TABLE
, который" показывает оператор CREATE TABLE
, который создает данную таблицу, или оператор CREATE VIEW
, который создает данное представление ".
Использование:
SHOW CREATE TABLE myTable;
person
Lukas Vermeer
schedule
09.08.2013
Шаги по созданию DDL таблицы 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)
Запустите указанный выше сценарий оболочки, передав 'db name' в качестве параметра
>bash hive_table_dd.sh <<databasename>>
выход :
Все операторы создания таблиц вашей БД будут записаны в HiveTableDDL.txt
person
Aditya
schedule
03.08.2016
как мы могли убедиться, что сегменты и формат хранения будут реплицированы в новую таблицу.
- person Indrajeet Gour; 19.12.2017
Вы также должны добавить точку с запятой после каждого оператора, чтобы сценарий можно было выполнить, сказав hive -f HiveTableDDL.txt.
- person Muton; 16.04.2018
Этот сценарий не работает для меня со следующей ошибкой: Ошибка при компиляции оператора: FAILED: строка ParseException 1:18 не может распознать ввод рядом с '|' '|' в имени таблицы я выполняю этот сценарий с помощью beeline, поскольку HDP 3.0 не поддерживает доступ к оболочке улья
- person Abhinav; 19.03.2019
@cfeduke этот скрипт указывает расположение таблиц улья. как пропустить часть местоположения, чтобы запустить эти ddls в другом месте улья? изменить более 1000 таблиц невозможно
- person user1; 05.06.2020
Describe Formatted / Extended покажет определение данных таблицы в кусте.
hive> describe Formatted dbname.tablename;
person
user2637464
schedule
09.08.2013