将日期函数设置为变量,并在直线和hql文件(hive)中使用



谁能向我解释如何解决这个问题。

我想使用 from_unixtime(unix_timestamp() - 86400, 'yyyyMMdd) 作为变量的值,并在存储在 hql 文件中的查询 where 子句中使用它。我试过:

beeline --hiveconf

date=from_unixtime(unix_timestamp(), 'yyyyMMdd) -f path/file.hql (in .hql file: WHERE date <= '${hiveconf:date}';)

由于日期函数,它不起作用。有没有办法先在某个脚本中获取日期值,然后将其与 hql 文件一起使用?我只看到了 hive cli 而不是直线的例子,我已经尝试了一些不同的方法,但无法让它工作。真的很感激一些帮助。查询适用于硬编码日期。

谢谢!

通过使用 unix date 函数,可以将日期转换为所需的格式,然后传递给 hive 变量。下面是您可以使用的示例命令:

cur_date=`date +%Y%m%d`
beeline --hiveconf date=${cur_date} -f path/file.hql

然后在 Hive 查询中,只需在需要时使用 ${date}。

希望这有帮助

最新更新