数据岗位面试题更新 2026-08-05

请解释 Airflow 中 XCom 的功能,并说明它如何在任务间传递数据?

数据技术原理Apache Airflow

考察说明

考察对 Airflow 核心组件 XCom 的理解及其在任务间通信中的作用。

回答思路

  1. 【回答框架 1】XCom 是 Airflow 中用于任务间交换消息的机制,允许任务传递键值对数据。它通过在任务执行时写入 XCom,并在下游任务中读取来实现通信。
  2. 【回答框架 2】XCom 的主要作用是让任务能够传递小量数据,如状态信息、文件路径或数据库连接 ID。但不宜传递大量数据,因为 XCom 存储在 Airflow 的元数据库中,可能导致性能瓶颈。
  3. 【回答框架 3】使用 XCom 时,通常通过 task_instance.xcom_push 和 xcom_pull 方法进行数据传递。此外,任务返回值也会自动存储为 XCom,便于下游任务访问。
  4. 【回答框架 4】在实际工作流中,XCom 支持动态生成任务参数或依赖上游结果,增强了 DAG 的灵活性。但需注意 XCom 的生命周期和清理策略,避免数据残留。
  5. 【关键点 1】XCom 是任务间传递键值对的机制。
  6. 【关键点 2】XCom 存储于元数据库,适合小数据量。
  7. 【关键点 3】通过 xcom_push 和 xcom_pull 显式传递,返回值自动存储。
  8. 【关键点 4】避免传输大数据,以防性能问题。
  9. 【易错点 1】不要用 XCom 传递大数据集,否则会降低性能。
  10. 【易错点 2】XCom 默认不清理,需要配置保留策略。