You need to design a DAG that can be easily triggered based on external events or data availability. How can you achieve this functionality?
For a Hive table that is both partitioned and bucketed, what considerations must be taken into account to optimize a join query involving this table?
In the context of Airflow, what is the purpose of the "XCom" feature?
You're working with a team of data engineers who collaborate on developing and maintaining Airflow DAGs. How can you ensure version control and maintain a consistent development workflow?
What happens when a task in Airflow is marked as "skipped"?