Presto 是否具有与 Hive 的 SET 命令等效的功能

Does Presto have the equivalent of Hive's SET command

能够设置脚本变量,非常方便。例如,

SET start_date = 20151201;

SELECT * FROM some_table where date = {$hiveconf:start_date};

Presto 有这个功能吗?

还没有。 Presto 只有 set session 命令用于在当前会话期间设置一些 presto 属性。 例如 设置会话 distributed_join=true;

但是 presto 不能像 hive 那样设置变量并在后面使用它 sql。

你可以做到

WITH VARIABLES AS (SELECT VALUE AS VAR1, VALUE AS VAR2)
SELECT * 
FROM TABLE CROSS JOIN VARIABLES 
WHERE COLUMN = VAR1