Skip to main content

Bigeye Airflow Library supports Airflow versions >=2.2.0, <2.8.0 and offers custom operators for interacting with your your bigeye workspace.

Project description

Bigeye Airflow Operators for Airflow Versions 2.x

Operators

Create Metric Operator (bigeye_airflow.operators.create_metric_operator)

The CreateMetricOperator creates metrics from a list of metric configurations provided to the operator. This operator will fill in reasonable defaults like setting thresholds. It authenticates through an Airflow connection ID and offers the option to run the metrics after those metrics have been created. Please review the link below to understand the structure of the configurations.

Create or Update Metric Swagger

Parameters

  1. connection_id: str - The Airfow connection ID used to store the required Bigeye credential.
  2. warehouse_id: int - The Bigeye source/warehouse id to which the metric configurations will be deployed.
  3. configuration: List[dict] - A list of metric configurations conforming to the following schema.
    schema_name: str
    table_name: str
    column_name: str
    metric_template_id: uuid.UUID
    metric_name: str
    description: str
    notifications: List[str]
    thresholds: List[dict]
    filters: List[str]
    group_by: List[str]
    user_defined_metric_name: str
    metric_type: SimpleMetricCategory
    default_check_frequency_hours: int
    update_schedule: str
    delay_at_update: str
    timezone: str
    should_backfill: bool
    lookback_type: str
    lookback_days: int
    window_size: str
    _window_size_seconds
    
  4. run_after_upsert: bool - If true it will run the metrics after creation. Defaults to False.
  5. workspace_id: Optional[int] - The ID of the workspace where metrics should be created. If only 1 workspace configured, then will default to that else this will be required.

Run Metrics Operator (bigeye_airflow.operators.run_metrics_operator)

The RunMetricsOperator will run metrics in Bigeye based on the following:

  1. All metrics for a given table, by providing warehouse ID, schema name and table name.
  2. Any and all metrics, given a list of metric IDs.

Currently, if a list of metric IDs is provided these will be run instead of metrics provided for warehouse_id, schema_name, table_name.

Parameters

  1. connection_id: str - The Airfow connection ID used to store the required Bigeye credential.
  2. warehouse_id: int - The Bigeye source/warehouse id for which metrics will be run.
  3. schema_name: str - The schema name for which metrics will be run.
  4. table_name: str - The table name for which metrics will be run.
  5. metric_ids: List[int] - The metric ids to run.
  6. workspace_id: Optional[int] - The ID of the workspace where metrics should be run. If only 1 workspace configured, then will default to that else this will be required.
  7. circuit_breaker_mode: bool - Whether dag should raise an exception if metrics result in alerting state, default False.

Create Delta Operator (bigeye_airflow.operators.create_delta_operator)

The CreateDeltaOperator creates deltas from a list of delta configurations provided to the operator. This operator will fill in reasonable defaults like column mappings. It authenticates through an Airflow connection ID and offers the option to run the deltas after those deltas have been created. Please review the link below to understand the structure of the configurations.

Parameters

  1. connection_id: str - The Airfow connection ID used to store the required Bigeye credential.
  2. warehouse_id: int - The Bigeye source/warehouse id to which the metric configurations will be deployed.
  3. configuration: List[dict] - A list of delta configurations conforming to the following schema.
    delta_name: str
    fq_source_table_name: str
    target_table_comparisons: dict
    - example: {"target_table_comparisons": [{"fq_target_table_name": "Snowflake.TOOY_DEMO_DB.PROD_REPL.ORDERS"}]
    tolerance: Optional[float]
    - default = 0.0
    cron_schedule: Optional[dict] 
    - default = None 
    - example: {"cron_schedule": {"name": "Midnight UTC", "cron": "0 0 * * *"}}
    notification_channels: Optional[List[dict]]
    - default = None
    - example: {"notification_channels: [{"slack": "#data-alerts"}]
    
  4. run_after_upsert: bool - If true it will run the deltas after creation. Defaults to False.
  5. workspace_id: Optional[int] - The ID of the workspace where deltas should be created. If only 1 workspace configured, then will default to that else this will be required.

Run Deltas Operator (bigeye_airflow.operators.run_deltas_operator)

The RunDeltasOperator will run deltas in Bigeye based on the following:

  1. All deltas for a given table, by providing warehouse ID, schema name and table name.
  2. Any and all deltas, given a list of delta IDs.

Currently, if a list of delta IDs is provided these will be run instead of metrics provided for warehouse_id, schema_name, table_name.

Parameters

  1. connection_id: str - The Airfow connection ID used to store the required Bigeye credential.
  2. warehouse_id: int - The Bigeye source/warehouse id for which metrics will be run.
  3. schema_name: str - The schema name for which metrics will be run.
  4. table_name: str - The table name for which metrics will be run.
  5. delta_ids: List[int] - The delta ids to run.
  6. workspace_id: Optional[int] - The ID of the workspace where deltas should be run. If only 1 workspace configured, then will default to that else this will be required.
  7. circuit_breaker_mode: bool - Whether dag should raise an exception if deltas result in alerting state, default False.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bigeye_airflow-0.1.30.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bigeye_airflow-0.1.30-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file bigeye_airflow-0.1.30.tar.gz.

File metadata

  • Download URL: bigeye_airflow-0.1.30.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.4 Darwin/23.3.0

File hashes

Hashes for bigeye_airflow-0.1.30.tar.gz
Algorithm Hash digest
SHA256 5506b1be93d2f110146eaff12406e1c21f3fdc67dd3c82fd9b14e1f6b84dbafd
MD5 17250bb9778ff78923074a5c71e8dcdb
BLAKE2b-256 b9956a7103e2e6835a9fdefa020255c8dd103ad7ba292971f4aa5c56f1c59780

See more details on using hashes here.

File details

Details for the file bigeye_airflow-0.1.30-py3-none-any.whl.

File metadata

  • Download URL: bigeye_airflow-0.1.30-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.4 Darwin/23.3.0

File hashes

Hashes for bigeye_airflow-0.1.30-py3-none-any.whl
Algorithm Hash digest
SHA256 860e2a2a9b881a12cc119164a05e91d371d2d1e6802af074275717a92c84d44b
MD5 3a9c4a1dd28e02d6af0d45f875f952c4
BLAKE2b-256 986224aaa1f828c339149d6ea4537e9d87bc8b494786587f7f1ca46cae6c5fdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page