Hadoop 配置单元-获取列名
是否可以从表中检索列名并将其加载到配置单元中的另一个表或文本文件中?请告诉我我们是否可以这样做没有OOTB功能允许这样做。但是您可以使用描述和awk来实现:Hadoop 配置单元-获取列名,hadoop,hive,Hadoop,Hive,是否可以从表中检索列名并将其加载到配置单元中的另一个表或文本文件中?请告诉我我们是否可以这样做没有OOTB功能允许这样做。但是您可以使用描述和awk来实现: bin/hive -S -e "use default; describe demo;" | awk -F" " '{print $1}' > ~/filename.txt 用要操作的数据库和表替换默认值和演示值。另一种解决方案是使用hive.cli.print.headers=true 这就是我用来获取以逗号分隔的标题的方法。相应
bin/hive -S -e "use default; describe demo;" | awk -F" " '{print $1}' > ~/filename.txt
用要操作的数据库和表替换默认值和演示值。另一种解决方案是使用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
更简洁的版本
hive -S -e "SHOW COLUMNS IN database_name.table_name" > column_names.txt
“无OOTB功能”的说法言过其实。自版本0.10以来一直在配置单元中。@JosephCottam:OOTB是为了指出没有内置命令允许我们将列名导出到另一个表或文件中。如果你仍然觉得它被夸大了,请随意编辑答案。