我有一个在Vertica DB上运行的SQL查询,大约25分钟后完成(使用DataGrip)
但是,当使用vertica_Python包从Python执行查询时,由于运行时间上限,20分钟后将失败,并显示以下错误消息:
vertica_python.errors.QueryCanceled: Severity: ERROR, Message: Execution time exceeded run time cap of 00:20, Sqlstate: 57014
显然,只有当查询从Python运行时,才会启用运行时上限,因为当查询在超过20分钟后从DataGrip运行时,它会成功
下面是一个简单的代码示例:
import pandas as pd
from vertica_python import connect
query = "SELECT * FROM ..."
vertica_connection_info = {"host": hst, "port": prt, "user": usr, "password": pwd}
connection = connect(**vertica_connection_info)
cur = connection.cursor()
cur.execute(query)
result = cur.fetchall()
columns = [d.name for d in cur.description]
df = pd.DataFrame(result, columns=columns)
我想将RUNTIMECAP从20m更改为30m,但找不到它的配置位置
我希望您能够使用Python客户端启动一个简单的原始命令:
在这里,我使用我的普通sql客户机:
vsql
。我询问Vertica我被分配到哪个资源池,然后我再次询问Vertica我被分配到的资源池的设置:因此,我目前正在使用资源池
general
运行—其运行时上限设置为NULL—因此,永远不会您将被分配到一个不同于
general
的资源池,并且您的SELECT * FROM resource_pools WHERE name='<<your resource pool_s name>>'
将返回00:20
forruntimecap
。您必须要求您的数据库管理员(或有权更改资源池的其他人)更改该运行时上限值,或者为您创建一个不同的资源池,并在默认情况下将您分配给它相关问题 更多 >
编程相关推荐