hadoop - 从 Hive 中的选择查询中排除分区字段

标签 hadoop hiveql

假设我在 Hive 中有一个表定义如下(实际表有大约 65 列):

CREATE EXTERNAL TABLE S.TEST (
    COL1 STRING,
    COL2 STRING
)
PARTITIONED BY (extract_date STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\007'
LOCATION 'xxx';

创建表后,当我运行 hive -e "describe s.test" 时,我看到 extract_date 是表中的列之一。执行 select * from s.test 也会返回 extract_date 列值。在 Hive 中运行选择查询时是否可以排除此虚拟(?) 列。

最佳答案

更改此属性

 set hive.support.quoted.identifiers=none;

并将查询运行为

SELECT `(extract_date)?+.+` FROM <table_name>;

我测试它工作正常。

关于hadoop - 从 Hive 中的选择查询中排除分区字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31598199/

相关文章:

hadoop - Hive动态分区无法将分区写入最终子目录

mongodb - 数据记录和NoSQL

scala - 如何在Spark sql中访问HIVE ACID表?

Hadoop-Hive |在 Hive 中将单行列转换为多行

performance - 多节点上的h2o和hadoop上的h2o有什么区别?

hadoop - 在Hive中传递参数不起作用

hadoop - 如何在 Hive 中将 array<date> 转换为 array<string>

apache-spark - spark 谓词下推不适用于 phoenix hbase 表

hadoop - Hbase浏览器显示Api错误:TSocket读取0字节的色相

hadoop - NullWritable 是映射器可接受的输入键吗?