Подтвердить что ты не робот

Просто введите имена столбцов из таблицы 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-принципа.

4b9b3361

Ответ 1

Если вы просто хотите увидеть имена столбцов, эта строка должна предоставить его без изменения настроек:

describe database.tablename;

Однако, если это не работает для вашей версии куста, этот код предоставит ее, но ваша база данных по умолчанию будет теперь базой данных, которую вы используете:

use database;
describe tablename;

Ответ 3

используйте desc tablename из Hive CLI или beeline, чтобы получить все имена столбцов. Если вы хотите, чтобы имена столбцов в файле выполнялись, выполните следующую команду из оболочки.

$ hive -e 'desc dbname.tablename;' > ~/columnnames.txt

где dbname - это имя базы данных Hive, в которой находится ваша таблица Вы можете найти файл columnnames.txt в корневом каталоге.

$cd ~
$ls