Hadoop 将日期函数设置为变量,并在直线和hql文件(配置单元)中使用
谁能给我解释一下如何解决这个问题 我想使用from_unixtime(unix_timestamp()-86400,'yyyyymmdd)作为变量的值,并在存储在hql文件中的查询where子句中使用它。我试过:Hadoop 将日期函数设置为变量,并在直线和hql文件(配置单元)中使用,hadoop,hive,hadoop-partitioning,Hadoop,Hive,Hadoop Partitioning,谁能给我解释一下如何解决这个问题 我想使用from_unixtime(unix_timestamp()-86400,'yyyyymmdd)作为变量的值,并在存储在hql文件中的查询where子句中使用它。我试过: beeline--hiveconf date=from_unixtime(unix_timestamp(),'yyyyMMdd)-f path/file.hql(在.hql文件中:WHERE date)通过使用unix日期函数,可以将日期转换为所需格式,然后传递给配置单元变量。下面是可
beeline--hiveconf date=from_unixtime(unix_timestamp(),'yyyyMMdd)-f path/file.hql(在.hql文件中:WHERE date)通过使用unix日期函数,可以将日期转换为所需格式,然后传递给配置单元变量。下面是可以使用的示例命令:
cur_date=`date +%Y%m%d`
beeline --hiveconf date=${cur_date} -f path/file.hql
然后在您的配置单元查询中,只要在需要的地方使用${date}
希望这有帮助不要使用配置单元UDF来生成日期,而是使用unix日期函数来生成配置单元的日期值variable@KSNidhin你能给我举个例子吗,我是新手,会很有帮助的!谢谢!我怎么能从这个日期格式中减去30天呢?我正在使用mac上的终端我在google上找到的命令似乎不起作用:)你可以参考这个:好的,谢谢,但是代码不起作用。查询似乎没有接受变量值。如何:(哪一个?我提到的那个?我刚刚尝试了以下命令,它起作用了;today=
date+%Y-%m-%d
hive-hivevar client_date=${today}-f query.hql>${today}.tsvI在我将变量直接设置到函数时成功了(beeline--hiveconf date=date+%Y-%m-%d。我的查询有一个问题,限制为10;不起作用,但我现在可以接受。现在我必须找出如何减去30天,如果你有直接的答案,请告诉我:)