我正在尝试在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/

10-12 23:20