如何从直线查询结果中的列名中删除表名
Posted
技术标签:
【中文标题】如何从直线查询结果中的列名中删除表名【英文标题】:how to remove table names from column names in beeline query results 【发布时间】:2020-04-16 15:54:50 【问题描述】:我正在将直线查询输出保存到 csv 文件。但是 csv 文件中的列名也包含表名。例如,如果表名是sales
,列名是Date
,那么csv 的列名是sales.Date
。我搜索了一下,在 Stack Overflow Hive - How to display Hive query results in the Command Line along with column names
我尝试从 hive 终端执行以下操作,它可以工作。
set hive.resultset.use.unique.column.names=false;
但是,当我尝试从命令行将文件保存到 csv 时,它仍然会将表名放在列名中。
有什么办法可以避免吗?
从 CLI 使用的查询:-
bee_line --outputformat=csv2 --showHeader=true --silent=true -e "select * from salesdata.ales" >path-to-csv
其中 bee_line 是存储在 bash 配置文件中的完整连接字符串的别名。
【问题讨论】:
能否请您发布执行以将其存储到 csv 的直线命令? 【参考方案1】:您可以使用--hiveconf
选项将配置单元属性设置为beeline
的参数。
你的命令看起来像,
bee_line --hiveconf hive.resultset.use.unique.column.names=false -outputformat=csv2 --showHeader=true --silent=true -e "select * from salesdata.ales" >path-to-csv
注意: Restricted properties 不能传递给此选项。
【讨论】:
以上是关于如何从直线查询结果中的列名中删除表名的主要内容,如果未能解决你的问题,请参考以下文章