Documentation
¶
Index ¶
- Constants
- func CheckADCCredentialsForPipeline(ctx context.Context, p *pipeline.Pipeline, connGetter config.ConnectionGetter) error
- func IsSameClustering(meta *bigquery.TableMetadata, asset *pipeline.Asset) bool
- func IsSamePartitioning(meta *bigquery.TableMetadata, asset *pipeline.Asset) bool
- func NewMaterializer(fullRefresh bool) *pipeline.Materializer
- type ADCCredentialError
- type AcceptedValuesCheck
- type BasicOperator
- type Client
- func (d *Client) BuildTableExistsQuery(tableName string) (string, error)
- func (d *Client) CreateDataSetIfNotExist(asset *pipeline.Asset, ctx context.Context) error
- func (d *Client) DropTableOnMismatch(ctx context.Context, tableName string, asset *pipeline.Asset) error
- func (d *Client) GetColumns(ctx context.Context, databaseName, tableName string) ([]*ansisql.DBColumn, error)
- func (d *Client) GetDatabaseSummary(ctx context.Context) (*ansisql.DBDatabase, error)
- func (d *Client) GetDatabases(ctx context.Context) ([]string, error)
- func (d *Client) GetIngestrURI() (string, error)
- func (d *Client) GetTableSummary(ctx context.Context, tableName string, schemaOnly bool) (*diff.TableSummaryResult, error)
- func (d *Client) GetTables(ctx context.Context, databaseName string) ([]string, error)
- func (d *Client) IsMaterializationTypeMismatch(ctx context.Context, meta *bigquery.TableMetadata, asset *pipeline.Asset) bool
- func (d *Client) IsPartitioningOrClusteringMismatch(ctx context.Context, meta *bigquery.TableMetadata, asset *pipeline.Asset) bool
- func (d *Client) IsValid(ctx context.Context, query *query.Query) (bool, error)
- func (d *Client) Location() string
- func (d *Client) NewDataTransferClient(ctx context.Context) (*datatransfer.Client, error)
- func (d *Client) Ping(ctx context.Context) error
- func (d *Client) ProjectID() string
- func (d *Client) QueryDryRun(ctx context.Context, queryObj *query.Query) (*bigquery.QueryStatistics, error)
- func (d *Client) RunQueryWithoutResult(ctx context.Context, query *query.Query) error
- func (d *Client) Select(ctx context.Context, query *query.Query) ([][]interface{}, error)
- func (d *Client) SelectWithSchema(ctx context.Context, queryObj *query.Query) (*query.QueryResult, error)
- func (d *Client) UpdateTableMetadataIfNotExist(ctx context.Context, asset *pipeline.Asset) error
- func (d *Client) UsesApplicationDefaultCredentials() bool
- type ColumnCheckOperator
- type Config
- type DB
- type DryRunner
- type DryRunnerQuerier
- type MetadataPushOperator
- type MetadataUpdater
- type NoMetadataUpdatedError
- type PatternCheck
- type Querier
- type QuerySensor
- type Selector
- type TableManager
- type TableSensor
Constants ¶
const CharacterLimit = 10000
Variables ¶
This section is empty.
Functions ¶
func CheckADCCredentialsForPipeline ¶ added in v0.11.367
func CheckADCCredentialsForPipeline(ctx context.Context, p *pipeline.Pipeline, connGetter config.ConnectionGetter) error
CheckADCCredentialsForPipeline checks ADC credentials for all BigQuery connections used in the pipeline before execution starts. This ensures credentials are available before any tasks begin running, avoiding prompts during parallel execution.
func IsSameClustering ¶ added in v0.11.129
func IsSameClustering(meta *bigquery.TableMetadata, asset *pipeline.Asset) bool
func IsSamePartitioning ¶ added in v0.11.129
func IsSamePartitioning(meta *bigquery.TableMetadata, asset *pipeline.Asset) bool
func NewMaterializer ¶ added in v0.5.0
func NewMaterializer(fullRefresh bool) *pipeline.Materializer
Types ¶
type ADCCredentialError ¶ added in v0.11.327
type ADCCredentialError struct {
ClientType string // e.g., "BigQuery client" or "Data Transfer client"
OriginalErr error
}
ADCCredentialError represents an error when Application Default Credentials cannot be found or are invalid.
func (*ADCCredentialError) Error ¶ added in v0.11.327
func (e *ADCCredentialError) Error() string
func (*ADCCredentialError) Unwrap ¶ added in v0.11.327
func (e *ADCCredentialError) Unwrap() error
type AcceptedValuesCheck ¶
type AcceptedValuesCheck struct {
// contains filtered or unexported fields
}
func (*AcceptedValuesCheck) Check ¶
func (c *AcceptedValuesCheck) Check(ctx context.Context, ti *scheduler.ColumnCheckInstance) error
type BasicOperator ¶
type BasicOperator struct {
// contains filtered or unexported fields
}
func NewBasicOperator ¶
func NewBasicOperator(conn config.ConnectionGetter, extractor query.QueryExtractor, materializer materializer, parser *sqlparser.SQLParser) *BasicOperator
func (BasicOperator) Run ¶
func (o BasicOperator) Run(ctx context.Context, ti scheduler.TaskInstance) error
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) BuildTableExistsQuery ¶ added in v0.11.172
func (*Client) CreateDataSetIfNotExist ¶ added in v0.11.129
func (*Client) DropTableOnMismatch ¶ added in v0.11.132
func (*Client) GetColumns ¶ added in v0.11.247
func (d *Client) GetColumns(ctx context.Context, databaseName, tableName string) ([]*ansisql.DBColumn, error)
GetColumns retrieves column information for a specific table in a BigQuery dataset. It takes a context, dataset name, and table name as parameters and returns a slice of column information. The method handles errors appropriately and returns an error if the table doesn't exist.
func (*Client) GetDatabaseSummary ¶ added in v0.11.242
func (*Client) GetDatabases ¶ added in v0.11.247
func (*Client) GetIngestrURI ¶ added in v0.7.0
func (*Client) GetTableSummary ¶ added in v0.11.224
func (*Client) GetTables ¶ added in v0.11.247
GetTables retrieves all table names from a BigQuery dataset (database). It takes a context and dataset name as parameters and returns a slice of table names. The method handles errors appropriately and returns an empty slice if the dataset has no tables.
func (*Client) IsMaterializationTypeMismatch ¶ added in v0.11.132
func (*Client) IsPartitioningOrClusteringMismatch ¶ added in v0.11.132
func (*Client) NewDataTransferClient ¶ added in v0.11.280
func (*Client) Ping ¶ added in v0.11.106
Test runs a simple query (SELECT 1) to validate the connection.
func (*Client) QueryDryRun ¶ added in v0.11.281
func (*Client) RunQueryWithoutResult ¶
func (*Client) SelectWithSchema ¶ added in v0.11.53
func (*Client) UpdateTableMetadataIfNotExist ¶ added in v0.9.0
func (*Client) UsesApplicationDefaultCredentials ¶ added in v0.11.367
type ColumnCheckOperator ¶
type ColumnCheckOperator struct {
// contains filtered or unexported fields
}
func NewColumnCheckOperator ¶
func NewColumnCheckOperator(manager config.ConnectionGetter) (*ColumnCheckOperator, error)
func (ColumnCheckOperator) Run ¶
func (o ColumnCheckOperator) Run(ctx context.Context, ti scheduler.TaskInstance) error
type Config ¶
type Config struct {
ProjectID string `envconfig:"BIGQUERY_PROJECT"`
CredentialsFilePath string `envconfig:"BIGQUERY_CREDENTIALS_FILE"`
CredentialsJSON string
Credentials *google.Credentials
Location string `envconfig:"BIGQUERY_LOCATION"`
// Add support for Application Default Credentials
UseApplicationDefaultCredentials bool `envconfig:"BIGQUERY_USE_ADC"`
}
func (Config) GetConnectionURI ¶ added in v0.6.13
func (Config) GetIngestrURI ¶ added in v0.7.0
type DB ¶
type DB interface {
Querier
Selector
MetadataUpdater
TableManager
UsesApplicationDefaultCredentials() bool
}
type DryRunner ¶ added in v0.11.281
type DryRunner struct {
ConnectionGetter connectionGetter
QueryExtractor queryExtractor
}
type DryRunnerQuerier ¶ added in v0.11.281
type MetadataPushOperator ¶ added in v0.9.0
type MetadataPushOperator struct {
// contains filtered or unexported fields
}
func NewMetadataPushOperator ¶ added in v0.9.0
func NewMetadataPushOperator(conn config.ConnectionGetter) *MetadataPushOperator
func (*MetadataPushOperator) Run ¶ added in v0.9.0
func (o *MetadataPushOperator) Run(ctx context.Context, ti scheduler.TaskInstance) error
type MetadataUpdater ¶ added in v0.9.0
type NoMetadataUpdatedError ¶ added in v0.9.0
type NoMetadataUpdatedError struct{}
func (NoMetadataUpdatedError) Error ¶ added in v0.9.0
func (m NoMetadataUpdatedError) Error() string
type PatternCheck ¶ added in v0.10.1
type PatternCheck struct {
// contains filtered or unexported fields
}
func (*PatternCheck) Check ¶ added in v0.10.1
func (c *PatternCheck) Check(ctx context.Context, ti *scheduler.ColumnCheckInstance) error
type QuerySensor ¶ added in v0.11.171
type QuerySensor struct {
// contains filtered or unexported fields
}
func NewQuerySensor ¶ added in v0.11.171
func NewQuerySensor(conn config.ConnectionGetter, extractor query.QueryExtractor, sensorMode string) *QuerySensor
func (*QuerySensor) Run ¶ added in v0.11.171
func (o *QuerySensor) Run(ctx context.Context, ti scheduler.TaskInstance) error
type TableManager ¶ added in v0.11.129
type TableManager interface {
IsPartitioningOrClusteringMismatch(ctx context.Context, meta *bigquery.TableMetadata, asset *pipeline.Asset) bool
CreateDataSetIfNotExist(asset *pipeline.Asset, ctx context.Context) error
IsMaterializationTypeMismatch(ctx context.Context, meta *bigquery.TableMetadata, asset *pipeline.Asset) bool
DropTableOnMismatch(ctx context.Context, tableName string, asset *pipeline.Asset) error
BuildTableExistsQuery(tableName string) (string, error)
}
type TableSensor ¶ added in v0.11.172
type TableSensor struct {
// contains filtered or unexported fields
}
func NewTableSensor ¶ added in v0.11.172
func NewTableSensor(conn config.ConnectionGetter, sensorMode string, extractor query.QueryExtractor) *TableSensor
func (*TableSensor) Run ¶ added in v0.11.172
func (ts *TableSensor) Run(ctx context.Context, ti scheduler.TaskInstance) error