是否可以从表中检索列名并将其加载到配置单元中的另一个表或文本文件中?如果我们能做到,请告诉我
bq8i3lrv1#
没有ootb特性允许这样做。但你可以用awk来描述:
bin/hive -S -e "use default; describe demo;" | awk -F" " '{print $1}' > ~/filename.txt
将default和demo替换为要操作的数据库和表。
qzlgjiam2#
更简洁的版本
hive -S -e "SHOW COLUMNS IN database_name.table_name" > column_names.txt
m2xkgtsf3#
另一种解决方案是使用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
3条答案
按热度按时间bq8i3lrv1#
没有ootb特性允许这样做。但你可以用awk来描述:
将default和demo替换为要操作的数据库和表。
qzlgjiam2#
更简洁的版本
m2xkgtsf3#
另一种解决方案是使用hive.cli.print.headers=true
这就是我用来获取逗号分隔的标题的方法。相应地替换数据库和表: