如何查询特定Airflow版本对应的Provider及AWS EMR Operator版本
查询特定Airflow版本对应的Provider版本及镜像内Provider位置
一、查Airflow匹配的Provider版本(含EMR Operator)
- 直接在Airflow容器里执行
airflow providers list,会列出所有已安装Provider的名称和版本,亚马逊AWS的Provider是apache-airflow-providers-amazon,EMR Operator就属于这个包。 - 要精准查询AWS Provider版本,运行
pip show apache-airflow-providers-amazon,输出里的Version字段就是对应版本,同时Location字段会直接给出这个包的安装路径。
二、Airflow镜像里Provider的存放位置
你之前找的/usr/local/lib/python3.8/site-packages路径是对的,只是Provider的代码嵌套在airflow/providers/amazon/aws/operators/目录下,直接进入该目录就能找到emr.py文件。另外,独立Provider包的元数据会存放在/usr/local/lib/python3.8/site-packages/apache_airflow_providers_amazon-<具体版本号>.dist-info目录中,也能用来确认包的存在。
三、快速验证EMR Operator对应的Provider版本
在容器里启动Python交互环境,运行以下代码:
from airflow.providers.amazon.aws.operators.emr import EmrCreateJobFlowOperator # 查看模块所属包的版本 import importlib.metadata print(importlib.metadata.version("apache-airflow-providers-amazon"))
因为EMR Operator属于apache-airflow-providers-amazon包,这个包的版本就是EMR Operator的版本。
内容的提问来源于stack exchange,提问作者jamiet
相关产品推荐
相关产品推荐

