我正在使用bash脚本的presto cli将一些简单数据提取到CSV。我正在尝试使用 - - client-request-quest timeout参数并将其设置为5s(它说默认值为2m(。我的查询需要〜1分钟,但是我没有暂停错误(我正在尝试查看错误所说的内容,以便我可以在bash脚本中处理它以通知查询失败(。
我尝试过切换 - 从1-10秒开始切换 - 重新定位,但无法获得超时查询,并且最多需要一分钟才能返回。
sudo /folder/to/presto-cli --server server:8080 --catalog catalog --user user --schema some_customer --client-request-timeout 5s --execute "select val1, val2, sum(count) from table where processed=false group by val1, val2;"
我希望Presto-Cli会给我一个错误,然后我可以在bash脚本中处理。
您可以使用query_max_execution_time
会话属性设置查询时间限制。
SET SESSION query_max_execution_time = '30s';
您可以使用SHOW SESSION
查询(或查看源代码(获取支持的会话属性列表。
使用presto-cli
,使用--session
arg通过以下方式:
presto-cli --session query_max_execution_time=30s ...
示例
$ presto-cli --session query_max_execution_time=15s
--execute "select count(distinct regexp_extract(comment, '([a-zA-Z ]+)+$')) from tpch.tiny.lineitem"
Query failed: Query exceeded the maximum execution time limit of 15.00s