文档

使用Python Client提交Presto作业

更新时间:

本文为您介绍如何使用Python Client编程的方式访问Trino On ACK服务并执行查询操作。

背景信息

Trino JDBC使用和相关参数的更多信息,请参见trino-python-client

前提条件

  • 已在E-MapReduce on ACK控制台创建Presto集群,详情请参见快速入门

  • 已添加AliyunOSSFullAccess和AliyunDLFFullAccess权限,详情请参见角色授权

  • 开发环境已安装Python、PIP、Trino DBAPI或SQLAlchemy,详情请参见环境要求

  • 已配置Presto集群admin用户的密码,详情请参见配置集群管理密码

Trino DBAP访问

说明
  • url:您可以在访问链接与端口页面,获取到Trino UI的链接,然后修改链接中的trinotrino-cli

  • 用户名和密码:默认用户admin,以及提前配置的密码。

DBAPI.python示例信息如下。

from trino.dbapi import connect
from trino.auth import BasicAuthentication

conn = connect(
    port=443,
    # 访问地址
    host="trino-cli.c-xxx.xxx.cn-hangzhou.alicontainer.com",
    # 用户名和密码
    auth=BasicAuthentication("xxx", "xxx"),
    http_scheme="https",
    verify=False
)
cur = conn.cursor()
cur.execute("show catalogs")
rows = cur.fetchall()

SQLAlchemy访问

说明
  • url:您可以在访问链接与端口页面,获取到Trino UI的链接,然后修改链接中的trinotrino-cli

  • 用户名和密码:默认用户admin,以及提前配置的密码。

SQLAlchemy.python示例信息如下。

from sqlalchemy import create_engine
from sqlalchemy.sql.expression import text
from trino.auth import BasicAuthentication

engine = create_engine(
    # 访问地址
    "trino://trino-cli.c-xxx.xxx.cn-hangzhou.alicontainer.com:443",
    connect_args={
        # 用户名和密码
        "auth": BasicAuthentication("xxx", "xxx"),
        "http_scheme": "https",
        "verify": False,
    }
)
connection = engine.connect()

rows = connection.execute(text("show catalogs")).fetchall()
  • 本页导读 (1)