如何使用REST API管理Presto查询会话变量



我正在使用Presto REST api查询数据库,但我的所有会话似乎都是短暂的。例如,如果我做一些类似的事情

query_presto('set session columnar_processing = true') query_presto('show session')

尽管在第一个查询中设置了column_processing变量,但第二个查询将显示column_procession仍然是默认值false。

我在某处读到

Presto为每个经过身份验证的用户维护会话。本次会议如果在超时期内未收到新请求,则过期为Presto配置。

但是,我在代码和文档中都找不到这种配置。

我的问题是如何使用RESTful API维护数据库会话?

经过太多时间的挖掘,我发现有一个标题X-Presto-Session,您可以设置逗号分隔的变量,即

curl --data "show session" http://127.0.0.1:8889/v1/statement/ --header "X-Presto-User: myuser" --header "X-Presto-Schema: myschema" --header "X-Presto-Time-Zone: UTC" --header "X-Presto-Catalog: mycatalog" --header "User-Agent: myagent" --header "X-Presto-Session: session_variable_1=900,session_variable_2=true"

不管医生怎么说,我认为Presto没有办法记住之前执行中设置的会话变量。我必须在程序中本地缓存它们,并在每次执行时都将它们全部传递。

相关内容

  • 没有找到相关文章

最新更新