Prism
v0.3.0
v0.3.0
  • 👋Welcome to Prism!
  • Getting Started
    • Installation
    • Creating your first project
    • Why Prism?
  • Fundamentals
    • PrismProject API
      • PrismProject().run
      • PrismProject().graph
    • Tasks
    • Targets
      • Multiple targets
    • CurrentRun API
      • CurrentRun.ref()
      • CurrentRun.conn()
      • CurrentRun.ctx()
  • Connectors
    • Overview
    • BigQueryConnector
    • PostgresConnector
    • RedshiftConnector
    • SnowflakeConnector
    • TrinoConnector
    • PrestoConnector
  • CLI
    • Command Line Interface
    • graph
    • init
    • run
  • Advanced features
    • Concurrency
    • Logging
    • Callbacks
    • Retries
    • Skipping tasks
  • API Reference
    • prism.task.PrismTask
    • @task(...)
    • @target(...)
    • @target_iterator(...)
    • prism.target.PrismTarget
  • Use Cases
    • Analytics on top of dbt
    • Machine Learning
  • Wiki
    • DAGs
Powered by GitBook
On this page
  • Configuration
  • execute_sql
  1. Connectors

RedshiftConnector

Configuration

Prism uses the psycopg2-binary module to instantiate and configure the Redshift connector. The required arguments rare:

  • id: ID for your connector.

  • autocommit: toggle whether the connection commits changes to the database after executing. The default is True.

  • host: the hostname of Amazon Redshift cluster.

  • port: the port number of the Amazon Redshift cluster.

  • database: the name of the database to which you want to connect.

  • user: the user name to use for authentication.

  • password: the password to use for authentication

postgres_connector = RedshiftConnector(
    id="redshift_connector_id",
    user=os.environ["POSTGRES_USER"],
    password=os.environ["POSTGRES_PASSWORD"],
    port=5432,
    host=os.environ["POSTGRES_HOST"],
    database=os.environ["POSTGRES_DB"],
    autocommit=True,
)

execute_sql

You can run queries against the Redshift cluster using the execute_sql function:

from prism.decorators import task
from prism.runtime import CurrentRun

@task()
def postgres_task(self):
    conn = CurrentRun.conn("redshift_connector_id")
    data = conn.execute_sql(
        sql="SELECT * FROM table"
    )

Note that when return_type = None, the result will be a list tuples containing the query data.

PreviousPostgresConnectorNextSnowflakeConnector

Last updated 1 year ago