Hive systate()/current_date()在HQL中不工作
在HQl中执行此操作时,我得到 java sql异常:错误10011-函数sysdate()无效。正在为当前日期获取相同的Hive systate()/current_date()在HQL中不工作,hive,hql,hue,Hive,Hql,Hue,在HQl中执行此操作时,我得到 java sql异常:错误10011-函数sysdate()无效。正在为当前日期获取相同的 WHERE TO_DATE (CONCAT(year,'-',month,'-',day)) >= sysdate()-8 AND TO_DATE (CONCAT(year,'-',month,'-',day)) <= sysdate()-2 WHERE TO_DATE(CONCAT(年、月、日))>=sysdate()-8 从hive 1.2.0开始,您可以
WHERE TO_DATE (CONCAT(year,'-',month,'-',day)) >= sysdate()-8
AND TO_DATE (CONCAT(year,'-',month,'-',day)) <= sysdate()-2
WHERE TO_DATE(CONCAT(年、月、日))>=sysdate()-8
从hive 1.2.0开始,您可以使用当前日期()
,在以前的版本中,可以使用=DATE\u sub(from\u unixtime(unix\u timestamp()),8)
f.i.您应该能够使用unix\u timestamp()/from\u unixtime(unix\u timestamp())(在您的情况下)无论您使用的是哪个版本的hive,都可以使用where子句中的条件:
(((unix_timestamp(usage_dt,'yyyy-MM-dd')) >= (unix_timestamp(date_sub(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd') ,8),'yyyy-MM-dd'))) and ((unix_timestamp(usage_dt,'yyyy-MM-dd')) >= (unix_timestamp(date_sub(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd') ,2),'yyyy-MM-dd'))))
此处usage_dt是日期的列名,配置单元中的DateFormat用作“yyyy-MM-dd”格式,因此如果您使用的是任何其他格式,您可以在此处提及,因为yyyyymmdd是sate的customr格式