Apache Airflow Provider for Segment
raw JSON → 3.9.4 verified Mon Apr 27 auth: no python
Apache Airflow provider for Segment, enabling integration with Segment's APIs. Current version 3.9.4, released as part of the Airflow providers ecosystem. Follows Airflow's release cadence.
pip install apache-airflow-providers-segment Common errors
error ModuleNotFoundError: No module named 'airflow.providers.segment' ↓
cause The provider package is not installed.
fix
Run 'pip install apache-airflow-providers-segment'.
error ImportError: cannot import name 'SegmentTrackEventOperator' from 'airflow.providers.segment.operators' ↓
cause Using an old import path; operator moved to 'segment' module in version 3.0.0.
fix
Use 'from airflow.providers.segment.operators.segment import SegmentTrackEventOperator'.
error airflow.exceptions.AirflowNotFoundException: The conn_id `segment_default` isn't defined ↓
cause No Airflow connection configured for Segment.
fix
Create a connection via UI (Conn Id: segment_default, Conn Type: Segment) or pass write_key directly to operator.
error TypeError: __init__() got an unexpected keyword argument 'write_key' ↓
cause Version incompatibility; older provider expects a connection ID instead of write_key.
fix
Upgrade to provider >=3.0.0 or use connection ID parameter 'segment_conn_id'.
Warnings
breaking In provider version 3.0.0, the operator was renamed from SegmentTrackEventOperator to SegmentTrackEventOperator (no change) but the module path changed from segment_track_event to segment. ↓
fix Use import 'from airflow.providers.segment.operators.segment import SegmentTrackEventOperator'.
deprecated Python 3.9 support is deprecated as of Airflow 2.10; expect removal in future versions. ↓
fix Upgrade to Python 3.10+.
gotcha The write_key is required; if not provided, the hook will raise AirflowNotFoundException. ↓
fix Pass write_key explicitly via operator or set via Airflow connection.
Imports
- SegmentTrackEventOperator wrong
from airflow.providers.segment.operators.segment_track_event import SegmentTrackEventOperatorcorrectfrom airflow.providers.segment.operators.segment import SegmentTrackEventOperator - SegmentHook
from airflow.providers.segment.hooks.segment import SegmentHook
Quickstart
from datetime import datetime
from airflow import DAG
from airflow.providers.segment.operators.segment import SegmentTrackEventOperator
with DAG(dag_id='segment_example', start_date=datetime(2021,1,1), schedule_interval=None) as dag:
track_event = SegmentTrackEventOperator(
task_id='track_event',
write_key='YOUR_WRITE_KEY',
user_id='test_user',
event='Test Event',
properties={'key': 'value'}
)