我正在尝试在Hive中进行以下操作
设置TODAY =“2013-11-04”; //这有效
SET TODAY = to_date(from_unixtime(unix_timestamp())); //这不是..
设置为今天;
TODAY = to_date(from_unixtime(unix_timestamp()))
有什么建议么?
最佳答案
SET TODAY = to_date(from_unixtime(unix_timestamp()));
在Hive中不可用。
你能做的是
select concat ('set TODAY=',to_date(from_unixtime(unix_timestamp())),'\;') from testTableName limit 1 >>/path/to/HQL/file/fileName.sql
现在在文件 fileName.sql 中,您将看到
set TODAY=2013-11-05;
在运行其他相关查询之前,需要加载文件 fileName.sql 。您可以这样做:
hive -f hiveQueries.sql
您的文件 hiveQueries.sql 应该包含以下内容:
use testDB;
source /path/to/HQL/file/fileName.sql;
select * from testTable where someColumn=${hiveconf:TODAY};
希望这可以帮助..:)
关于hadoop - hive 变量替换功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19775040/