pytd.query_engine.PrestoQueryEngine

class pytd.query_engine.PrestoQueryEngine(apikey, endpoint, database, header)[source]

An interface to Treasure Data Presto query engine.

Parameters
  • apikey (str) – Treasure Data API key.

  • endpoint (str) – Treasure Data API server.

  • database (str) – Name of connected database.

  • header (str or bool) – Prepend comment strings, in the form “– comment”, as a header of queries.

__init__(apikey, endpoint, database, header)[source]

Methods

__init__(apikey, endpoint, database, header)

close()

Close a connection to Presto.

create_header([extra_lines])

Build header comments.

cursor([force_tdclient])

Get cursor defined by DB-API.

execute(query, **kwargs)

Execute a given SQL statement and return results.

Attributes

presto_api_host

Presto API host obtained from TD_PRESTO_API env variable or inferred from Treasure Data REST API endpoint.

user_agent

User agent passed to a Presto connection.

__init__(apikey, endpoint, database, header)[source]
property user_agent

User agent passed to a Presto connection.

property presto_api_host

Presto API host obtained from TD_PRESTO_API env variable or inferred from Treasure Data REST API endpoint.

cursor(force_tdclient=False, **kwargs)[source]

Get cursor defined by DB-API.

Parameters
  • force_tdclient (bool) – Specify whether the method always returns tdclient.cursor.Cursor. If False, returned cursor type is dynamically selected depending on **kwargs.

  • **kwargs

    Treasure Data-specific optional query parameters. Giving these keyword arguments forces query engine to issue a query via Treasure Data REST API provided by tdclient, rather than using a direct connection established by the prestodb package.

    • db (str): use the database

    • result_url (str): result output URL

    • priority (int or str): priority

      • -2: “VERY LOW”

      • -1: “LOW”

      • 0: “NORMAL”

      • 1: “HIGH”

      • 2: “VERY HIGH”

    • retry_limit (int): max number of automatic retries

    • wait_interval (int): sleep interval until job finish

    • wait_callback (function): called every interval against job itself

Return type

prestodb.dbapi.Cursor, or tdclient.cursor.Cursor

close()[source]

Close a connection to Presto.