是否可以从表中检索列名并将它们加载到另一个表或配置单元中的文本文件中?如果我们能做到这一点,请告诉我
问问题
24316 次
3 回答
7
更简洁的版本
hive -S -e "SHOW COLUMNS IN database_name.table_name" > column_names.txt
于 2016-02-09T18:53:48.820 回答
6
There is no OOTB feature which allows this. But you could use DESCRIBE with awk to achieve that :
bin/hive -S -e "use default; describe demo;" | awk -F" " '{print $1}' > ~/filename.txt
Replace default and demo with database and table you want to operate on.
于 2013-09-26T21:07:45.183 回答
5
另一种解决方案是使用 hive.cli.print.headers=true
这就是我用来将标题以逗号分隔的方法。相应地替换数据库和表:
hive -S -e 'SET hive.cli.print.header=true; SELECT * FROM database.table LIMIT 0' | sed -e 's/\t/,/g' > headers.txt
于 2014-08-29T19:19:08.237 回答