Airflow 上传 Pandas 数据帧到 Redshift table
Airflow upload Pandas dataframe to Redshift table
我想使用 Airflow 在 redshift 中填充 table。我要插入的数据采用 pandas 数据帧的形式,尽管我可以将其写入 csv 或任何其他格式。
我正在查看 RedshiftSQLOperator 的文档,但插入内容是硬编码的,我不知道是否有批量上传数据的方法。
redshift 运算符还定义了一个钩子,让您可以访问 SQL 引擎 -- https://airflow.apache.org/docs/apache-airflow-providers-amazon/2.4.0/_api/airflow/providers/amazon/aws/hooks/redshift/index.html#airflow.providers.amazon.aws.hooks.redshift.RedshiftSQLHook.
最好使用 pandas to_sql
函数,其中指定连接参数以实现插入。
redshift_hook = RedshiftSQLHook(...)
engine = redshift_hook.get_sqlalchemy_engine()
df.to_sql(..., conn=engine)
我想使用 Airflow 在 redshift 中填充 table。我要插入的数据采用 pandas 数据帧的形式,尽管我可以将其写入 csv 或任何其他格式。
我正在查看 RedshiftSQLOperator 的文档,但插入内容是硬编码的,我不知道是否有批量上传数据的方法。
redshift 运算符还定义了一个钩子,让您可以访问 SQL 引擎 -- https://airflow.apache.org/docs/apache-airflow-providers-amazon/2.4.0/_api/airflow/providers/amazon/aws/hooks/redshift/index.html#airflow.providers.amazon.aws.hooks.redshift.RedshiftSQLHook.
最好使用 pandas to_sql
函数,其中指定连接参数以实现插入。
redshift_hook = RedshiftSQLHook(...)
engine = redshift_hook.get_sqlalchemy_engine()
df.to_sql(..., conn=engine)