Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 将日期函数设置为变量,并在直线和hql文件(配置单元)中使用_Hadoop_Hive_Hadoop Partitioning - Fatal编程技术网

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

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日期函数,可以将日期转换为所需格式,然后传递给配置单元变量。下面是可

谁能给我解释一下如何解决这个问题

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


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天,如果你有直接的答案,请告诉我:)