hadoop - 在 hive-0.10.0 中查找 30 天前的日期

标签 hadoop hive hiveql

我有 2 个 hadoop 集群,一个安装了 hive-0.10.0,另一个安装了 hive-1.1.0 版本。

我能够在 hive-1.1.0 中运行下面的查询,它给出从当前日期起 30 天之前的日期

select date_sub(from_unixtime(floor(unix_timestamp()/(60*24*24))*60*24*24), 30)

但是,相同的查询在 hive-0.10.0 中给出了语法错误

ok failed: parseexception line 1:79 mismatched input '' expecting from near ')' in from clause

最佳答案

1.

太复杂了。
这将为您带来相同的结果:

select date_sub(from_unixtime(unix_timestamp()),30)

2.

不带 FROM 子句的查询仅从 hive 0.13 支持 https://issues.apache.org/jira/browse/HIVE-178

创建单行表(类似于 Oracle dual)并将其用作源

关于hadoop - 在 hive-0.10.0 中查找 30 天前的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44927519/

相关文章:

hadoop - 手动将任务分配给计算机

hadoop - Spark 在 yarn-cluster 上提交 - Hive 错误

hadoop - 在存储在hdfs中的orc文件上创建外部表之后,select *返回时间戳的空值

hadoop - 如何在Hive中的子目录上进行分区

hadoop - Hive静态分区问题

hive - 如何在 hive 中截断双位数到四位数而不进行四舍五入?

java - 如何在 Windows 8 64 位上构建 Hadoop 2.7.0?

Hadoop 配置属性

hadoop - Hbase中的三重复合键

hadoop - HIVE中LOAD DATA INPATH和LOAD DATA LOCAL INPATH之间的区别是什么