当我在命令行中使用直接运行器或数据流运行器运行Beam管道时,它工作正常...
示例:
$ python my_pipeline.py --key /path/to/gcp/service/key.json --project gcp_project_name
但是当我尝试使用气流时,我有两个选择,bash运算符或python运算符。
使用bash运算符会成功,但会限制我使用气流功能的能力。
但是我想做的是将其作为python运算符运行。因此,我将模块导入到气流dg文件中,然后以python运算符的方式运行。
如果我使用本地运行器,它也可以正常工作,但是当我将其更改为数据流运行器时,在GCP数据流上创建具有此错误的作业后,它将失败
ImportError: No module named airflow.bin.cli
让 Airflow 从 python 操作员创建数据流作业时我缺少什么?
答案 0 :(得分:0)
好的, 那不是完美的解决方案,但是您可以使用
DataFlowPythonOperator()
将运行我们之前提到的完全相同的bash命令。
这是一种解决方法,不等于PythonOperator
,而更像是运行BashOperator
...
在当前情况下(例如xcom)仍然无法使用Airflow功能的强大功能...
Docs