【问题标题】:Can we append a dataframe to snowflake table having some data, when some columns are same and some columns are different?当某些列相同而某些列不同时,我们可以将数据框附加到具有某些数据的雪花表吗?
【发布时间】:2022-10-06 20:36:25
【问题描述】:
我有一个包含一些列的数据框,而雪花表有一些列。有些列是相同的,有些列是不同的。截至目前,我正在将雪花表提取为 python 代码并将两者连接起来并再次替换表。但是表有大量数据,非常忙碌。当某些列不同而某些列相同时,是否可以将数据框直接附加到雪花表中。如果是,请告诉我该怎么做。没有解决方案对我有用。我怎样才能有效地做到这一点,用更少的时间?
标签:
python
python-3.x
pandas
snowflake-cloud-data-platform
snowflake-connector
【解决方案1】:
是的 可以将数据附加到雪花中的现有表中。
设置您的连接。
您可以使用 sqlalchemy 并稍后创建一个引擎,您可以使用以下命令将 df 推送到雪花:
from snowflake.connector.pandas_tools import pd_writer
df.to_sql('<snowflaketablename>', engine, index=False, method=pd_writer, if_exists='append')
请记住提供选项if_exists="append" 以将数据框附加到现有表中。
【解决方案2】:
我正在尝试实现建议的相同方法,当我使用 Jupyter Notebook 运行代码时它可以完美运行
但是当我使用 Airflow dag 运行相同的代码时,它会为我试图添加的附加列抛出错误“无效标识符”
我错过了什么吗?
任何帮助,将不胜感激!