我想通过气流将CSV文件写入Postgres的表中。我偶然看到了这个气流文档,表示这个钩子已经有一个内置的CSV输出功能。并在如何使用它上使用了这个线程。我有一个python操作符,其python_callable如下所示:
def copy_expert_csv():
hook = PostgresHook(postgres_conn_id='warehouse',host='data-warehouse',
database='datalake',
user='root',
password='root',
port=9999)
with hook.get_conn() as connection:
hook.copy_expert("""COPY datalake.public.wcc_users FROM stdin WITH CSV HEADER
DELIMITER as ',' """,
'includes/cleaned_data/wwc/' + str(date.today()) + '_wwc_cleaned ')
connection.commit()任务成功完成,如图像所示。

:
我的数据库中也没有错误日志:
materials-data-warehouse-1 | 2022-04-29 17:43:01.942 UTC [198] STATEMENT: COPY datalake.public.wcc_users FROM STDIN WITH (FORMAT CSV) HEADER我的文件大约有1000行。但是,当我从表中选择时,会插入0行。
表中的列命名与文件不同,还有2列具有日期和时间戳数据类型,而不是文本。会不会是原因?那么为什么不抛出错误呢?
发布于 2022-04-30 13:59:37
表的定义似乎是错误的。这不会引发任何错误,但也不会插入任何内容。
https://stackoverflow.com/questions/72062085
复制相似问题