我已经在python中构建了一个POC DAG,以使气流在雪花中执行功能,但是我在气流的UI中收到此错误:
损坏的DAG:[/ opt / bitnami / airflow / dags / snowflake_poc.py]没有名为“ snowflake”的模块
我已经阅读了很多文档,看来我已经正确配置了所有内容,但显然有些地方不对。
这是我的python代码:
from datetime import timedelta
import airflow
from airflow import DAG
from airflow.contrib.operators.snowflake_operator import SnowflakeOperator
# These args will get passed on to each operator
# You can override them on a per-task basis during operator initialization
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': airflow.utils.dates.days_ago(2),
'email': ['me@me.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
dag = DAG(
'snowflake_poc',
default_args=default_args,
description='just executing a proc in snowflake',
schedule_interval=timedelta(days=1),
)
sql = "call jme_test_1();"
t1 = SnowflakeOperator(sql = sql,
warehouse = "DATA_WH",
database = "DEV_ADS" )
我确实确认气流在应有的地方包含了rainbow_operatory.py文件,为了安全起见,我什至还运行了 pip install --upgrade Snow-connector-python 。在任何人问之前,是的,我确实在气流UI的“连接管理”部分中设置了与雪花的连接,但我陷入了这个神秘的错误。
我想念什么?
答案 0 :(得分:0)
我们利用Azure市场应用程序来设置气流服务器,事实证明该服务器不能在雪花模式下正常工作。
我们通过在Putty中运行此命令进行了测试
$: python3
>>> import snowflake.connector
这引发了“没有名为'botocore.docs'的模块”,这只是告诉我们我们缺少boto3依赖项(必须对Google botocore进行搜索,并发现它是boto3包的一部分,因为我们使用的是python3)
然后我们只需要安装它:
$: sudo pip install --upgrade boto3
此后,Python代码将运行,但我们必须重新启动Web服务器以获取气流以吸起它。