Implementation:Astronomer Astronomer cosmos TrinoBaseProfileMapping
| Knowledge Sources | |
|---|---|
| Domains | Profile_Mapping, Trino |
| Last Updated | 2026-02-07 17:00 GMT |
Overview
Concrete tool for mapping Airflow trino connections to dbt trino profiles provided by astronomer-cosmos. This is a community-contributed profile mapping.
Description
The TrinoBaseProfileMapping maps an Airflow trino connection to a dbt trino profile. It serves as the base class for all Trino authentication method variants, translating connection parameters (host, login, password, schema, port, extras) into the YAML structure that dbt expects in `profiles.yml`. This is a community-contributed adapter (is_community=True).
Usage
Use this profile mapping when configuring Cosmos to run dbt commands against a Trino backend. Assign it to `ProfileConfig(profile_mapping=...)` when the target Airflow connection uses the `trino` connection type. For specific authentication methods, prefer one of the derived classes (certificate, JWT, or LDAP).
Code Reference
Source Location
- Repository: Astronomer_Astronomer_cosmos
- File: cosmos/profiles/trino/base.py
Signature
class TrinoBaseProfileMapping(BaseProfileMapping):
airflow_connection_type: str = "trino"
dbt_profile_type: str = "trino"
is_community: bool = True
Import
from cosmos.profiles.trino.base import TrinoBaseProfileMapping
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| conn_id | str | Yes | Airflow connection ID for Trino |
Outputs
| Name | Type | Description |
|---|---|---|
| profile | dict | dbt profile YAML dictionary |
| env_vars | dict | Environment variables for secret fields |
Usage Examples
from cosmos.config import ProfileConfig
from cosmos.profiles.trino.base import TrinoBaseProfileMapping
profile_config = ProfileConfig(
profile_name="default",
target_name="dev",
profile_mapping=TrinoBaseProfileMapping(conn_id="trino_default"),
)