破碎的狗试图将气流连接到雪花
broken dag trying to connect airflow to snowflake
我在 python 中构建了一个 POC DAG,以便气流在 snowflake 中执行一个函数,但我在气流的 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" )
我确实确认气流有 snowflake_operatory.py 文件应该在的地方,为了安全起见我什至 运行 pip install --upgrade snowflake-connector-python。在有人问之前,是的,我确实在气流的连接管理部分设置了与雪花的连接UI,但我陷入了这个神秘的错误。
我错过了什么?
我们使用 Azure Market Place 应用程序来设置气流服务器,结果发现该服务器本身不能与 snowflake 一起使用。
我们通过运行在 Putty 中执行此命令
对此进行了测试
$: python3
>>> import snowflake.connector
这抛出了 "No module named 'botocore.docs'" 这只是告诉我们我们缺少 boto3 依赖项(必须 google botocore 并发现它是 boto3 包的一部分,因为我们正在使用 python3)
那么我们只需要安装它:
$: sudo pip install --upgrade boto3
之后 python 代码会 运行 但我们必须重新启动网络服务器才能让气流接收它。
我在 python 中构建了一个 POC DAG,以便气流在 snowflake 中执行一个函数,但我在气流的 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" )
我确实确认气流有 snowflake_operatory.py 文件应该在的地方,为了安全起见我什至 运行 pip install --upgrade snowflake-connector-python。在有人问之前,是的,我确实在气流的连接管理部分设置了与雪花的连接UI,但我陷入了这个神秘的错误。
我错过了什么?
我们使用 Azure Market Place 应用程序来设置气流服务器,结果发现该服务器本身不能与 snowflake 一起使用。
我们通过运行在 Putty 中执行此命令
对此进行了测试$: python3
>>> import snowflake.connector
这抛出了 "No module named 'botocore.docs'" 这只是告诉我们我们缺少 boto3 依赖项(必须 google botocore 并发现它是 boto3 包的一部分,因为我们正在使用 python3)
那么我们只需要安装它:
$: sudo pip install --upgrade boto3
之后 python 代码会 运行 但我们必须重新启动网络服务器才能让气流接收它。