hadoop 如何连beeline_关于hadoop:将日期函数设置为变量并在beeline和hql文件中使用(hive)...

任何人都可以向我解释如何解决这个问题。

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

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

由于日期功能,它不起作用。 有没有办法首先在某些脚本中获取日期值,然后将其与hql文件一起使用? 我只看过hive cli但没有beeline的例子,我尝试了一些不同的方法,但无法让它工作。 非常感谢一些帮助。 该查询适用于硬编码日期。

谢谢!

而不是使用hive udfs生成日期,使用unix日期函数,以生成hive变量的日期值

@KSNidhin请你告诉我一个例子,我是新来的,会有很大的帮助!

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

cur_date=`date +%Y%m%d`

beeline --hiveconf date=${cur_date} -f path/file.hql

然后在您的配置单元查询中,只需使用$ {date}。

希望这可以帮助

谢谢! 如何从该日期格式中减去30天? 我在mac上使用终端我在google上找到的一些命令似乎不起作用:)

你可以参考这个:stackoverflow.com/questions/13533661/

好的谢谢,但代码不工作查询似乎没有采取变量值一些如何:(

哪一个 ? 我提到过的那个? 我刚刚尝试了以下命令并且它有效; today = date +%Y-%m-%d hive -hivevar client_date = $ {today} -f query.hql> $ {today} .tsv

当我将变量直接设置为函数时,我得到了它的工作(beeline --hiveconf date = date +%Y-%m-%d。我的查询有问题LIMIT 10;没有用,但我可以活 现在就这样。现在我必须弄清楚如何减去30天,如果你有直接的答案请告诉我:)

谢谢你的链接!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值