添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
使用Python Client提交Presto作业

使用Python Client提交Presto作业

更新时间:
复制为 MD 格式

本文为您介绍如何使用 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 DBAPI 访问

说明
  • url :您可以在 访问链接与端口 页面,获取到 Trino UI 的链接,然后修改链接中的 trino trino-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 的链接,然后修改链接中的 trino trino-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()