Documentation
¶
Overview ¶
+marmot:name=Trino +marmot:description=Discovers catalogs, schemas, tables, and views from Trino clusters with optional AI enrichment. +marmot:status=experimental +marmot:features=Assets, Lineage
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
plugin.BaseConfig `json:",inline"`
// Connection
Host string `json:"host" validate:"required" description:"Trino coordinator hostname"`
Port int `json:"port" default:"8080" validate:"omitempty,min=1,max=65535" description:"Trino coordinator port"`
User string `json:"user" validate:"required" description:"Username for authentication"`
Password string `json:"password,omitempty" sensitive:"true" description:"Password (requires HTTPS)"`
Secure bool `json:"secure,omitempty" default:"false" description:"Use HTTPS"`
SSLCertPath string `json:"ssl_cert_path,omitempty" label:"SSL Cert Path" description:"Path to TLS certificate file"`
AccessToken string `json:"access_token,omitempty" sensitive:"true" description:"JWT bearer token"`
// Scope
Catalog string `json:"catalog,omitempty" description:"Specific catalog to discover (all if empty)"`
ExcludeCatalogs []string `json:"exclude_catalogs,omitempty" default:"[\"system\",\"jmx\"]" description:"Catalogs to skip"`
// Discovery options
IncludeCatalogs bool `json:"include_catalogs" default:"true" description:"Create catalog-level assets"`
IncludeColumns bool `json:"include_columns" default:"true" description:"Include column info in table metadata"`
IncludeStats bool `json:"include_stats,omitempty" default:"false" description:"Collect table statistics (can be slow)"`
// AI enrichment (requires Trino AI connector)
AICatalog string `json:"ai_catalog,omitempty" label:"AI Catalog" description:"Name of the AI connector catalog (empty = disabled)"`
AIGenerateDescriptions bool `` /* 155-byte string literal not displayed */
AIClassifyTables bool `` /* 129-byte string literal not displayed */
AIClassifyLabels []string `` /* 192-byte string literal not displayed */
AIMaxEnrichments int `` /* 133-byte string literal not displayed */
}
Config for Trino plugin +marmot:config
type Source ¶
type Source struct {
// contains filtered or unexported fields
}
Source represents the Trino plugin
func (*Source) Discover ¶
func (s *Source) Discover(ctx context.Context, pluginConfig plugin.RawPluginConfig) (*plugin.DiscoveryResult, error)
func (*Source) Validate ¶
func (s *Source) Validate(rawConfig plugin.RawPluginConfig) (plugin.RawPluginConfig, error)
type TrinoCatalogFields ¶
type TrinoCatalogFields struct {
CatalogName string `json:"catalog_name" metadata:"catalog_name" description:"Trino catalog name"`
}
TrinoCatalogFields represents Trino catalog metadata fields +marmot:metadata
type TrinoColumnFields ¶
type TrinoColumnFields struct {
ColumnName string `json:"column_name" metadata:"column_name" description:"Column name"`
DataType string `json:"data_type" metadata:"data_type" description:"Column data type"`
IsNullable string `json:"is_nullable" metadata:"is_nullable" description:"YES or NO"`
OrdinalPosition int `json:"ordinal_position" metadata:"ordinal_position" description:"Column position"`
}
TrinoColumnFields represents Trino column metadata fields +marmot:metadata
type TrinoSchemaFields ¶
type TrinoSchemaFields struct {
Catalog string `json:"catalog" metadata:"catalog" description:"Parent catalog name"`
SchemaName string `json:"schema_name" metadata:"schema_name" description:"Schema name"`
}
TrinoSchemaFields represents Trino schema metadata fields +marmot:metadata
type TrinoTableFields ¶
type TrinoTableFields struct {
Catalog string `json:"catalog" metadata:"catalog" description:"Parent catalog name"`
Schema string `json:"schema" metadata:"schema" description:"Parent schema name"`
TableName string `json:"table_name" metadata:"table_name" description:"Table or view name"`
TableType string `json:"table_type" metadata:"table_type" description:"BASE TABLE or VIEW"`
Comment string `json:"comment" metadata:"comment" description:"Table comment"`
RowCount int64 `json:"row_count" metadata:"row_count" description:"Estimated row count"`
}
TrinoTableFields represents Trino table/view metadata fields +marmot:metadata
Click to show internal directories.
Click to hide internal directories.