Просто введите имена столбцов из таблицы hive
Я знаю, что вы можете получить имена столбцов из таблицы с помощью трюка в улье:
hive> set hive.cli.print.header=true;
hive> select * from tablename;
Можно ли также просто получить имена столбцов из таблицы?
Мне не нравится менять настройки для чего-то, что мне нужно только один раз.
Мое текущее решение следующее:
hive> set hive.cli.print.header=true;
hive> select * from tablename;
hive> set hive.cli.print.header=false;
Это кажется слишком многословным и против DRY-принципа.
Ответы
Ответ 1
Если вы просто хотите увидеть имена столбцов, эта строка должна предоставить его без изменения настроек:
describe database.tablename;
Однако, если это не работает для вашей версии куста, этот код предоставит ее, но ваша база данных по умолчанию будет теперь базой данных, которую вы используете:
use database;
describe tablename;
Ответ 2
вы также можете сделать show columns in $table
или увидеть Hive, как получить все столбцы таблиц базы данных для доступа к метаданным кустов
Ответ 3
используйте desc tablename
из Hive CLI или beeline, чтобы получить все имена столбцов. Если вы хотите, чтобы имена столбцов в файле выполнялись, выполните следующую команду из оболочки.
$ hive -e 'desc dbname.tablename;' > ~/columnnames.txt
где dbname
- это имя базы данных Hive, в которой находится ваша таблица
Вы можете найти файл columnnames.txt в корневом каталоге.
$cd ~
$ls