【问题标题】: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 的直线命令?

标签: linux hive beeline


【解决方案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 不能传递给此选项。

【讨论】:

    猜你喜欢
    • 2016-10-27
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多