蜂巢从一个空表中选择最大,但获得值为空的一行

时间:2018-11-09 01:59:56

标签: hive

首先,我在配置单元中创建一个表:

CREATE TABLE `test5`.`meta_increment`  ( 
    `table_name`    string, 
    `date_modified` string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' WITH SERDEPROPERTIES ("path"="hdfs://myhdfs/warehouse/tablespace/managed/hive/test5.db/meta_increment")
STORED AS PARQUET
TBLPROPERTIES ('numFiles'='1', 'spark.sql.create.version'='2.3.0', 'spark.sql.sources.provider'='parquet', 'spark.sql.sources.schema.numParts'='1', 'spark.sql.sources.schema.part.0'='{\"type\":\"struct\",\"fields\":[{\"name\":\"table_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"date_modified\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}}]}', 'totalSize'='700')
GO

然后我执行查询:

select max(date_modified) from test5.meta_increment where table_name='shopsNifi'

得到结果:

  _c0
1 null

为什么有一行?我认为应该没有行,因为表是空的。 (我的情况是:我想获取表的最大日期,并获取增量数据。)

1 个答案:

答案 0 :(得分:0)

AVG,SUM等聚合函数的设计方式是,如果表为空,它们将返回单个列。