栏目分类
GPTVerse中文网
你的位置:Only1中文网 > GPTVerse中文网 > Python SDK示例:SQL
Python SDK示例:SQL
发布日期:2025-01-03 18:44    点击次数:189
PyODPS支持MaxCompute SQL查询,并可以读取执行的结果,使用时有以下注意事项。入口对象的execute_sql('statement')和run_sql('statement')方法可以执行SQL语句,返回值是运行实例,详情请参见任务实例。 并非所有可以执行的MaxCompute命令都是PyODPS可以接受的SQL语句。在调用非DDL、DML语句时,请使用其他方法,例如:调用SQL引擎执行SQL,会按照SQL作业进行计费,计费详情请参见计费项与计费方式概述。在运行时如果需要设置参数,您可以通过设置hints参数来实现,参数的类型是dict。您可以对于全局配置设置sql.settings,后续每次运行时则都会添加相关的运行时参数。SQL可能执行了desc命令,这时可以通过reader.raw取到原始的SQL执行结果。 如果您设置了options.tunnel.use_instance_tunnel == True,在后续调用open_reader时,PyODPS会默认调用Instance Tunnel, 否则会调用旧的Result接口。如果您使用了版本较低的 MaxCompute服务,或者调用Instance Tunnel出现了问题,PyODPS会给出告警并自动降级到旧的Result接口,您可根据告警信息判断导致降级的原因。如果Instance Tunnel的返回结果不合预期, 您可以将该选项设为False,在调用open_reader时,也可以使用tunnel参数来指定使用何种结果接口。如果您想要限制下载数据的规模,可以为open_reader增加limit选项, 或者设置 options.tunnel.limit_instance_tunnel = True 。如果未设置 options.tunnel.limit_instance_tunnel,MaxCompute会自动打开数据量限制,此时,可下载的数据条数受到Project配置的Tunnel下载数据规模数限制, 通常该限制为10000条。在运行SQL时,如果某个UDF引用的资源是动态变化的,您可以alias旧的资源名到新的资源,这样就可以避免重新删除并重新创建UDF。在ipython和jupyter里支持使用SQL插件的方式运行SQL,且支持参数化查询, 详情参考交互体验增强文档。在少数情形下,在提交SQL时,可能需要同时提交biz_id,否则执行会报错。此时,您可以在全局options里设置biz_id。