引起的是:org.postgresql.util.psqlexception:错误:上一次预期列之后的额外数据
我正在尝试将CSV文件导入Postgres DB:
CREATE EXTERNAL TABLE dwh.stg.products_mapping_temp_ext (
date varchar,
product_code varchar,
product_name varchar,
product_operation_code varchar,
product_operation_name varchar,
department varchar,
process_code varchar,
process_name varchar,
process_stage_code varchar,
process_stage_name varchar
)
LOCATION (
'gpfdist://worker:6666/dags/csv/quarter_kpi/products_mapping_temp_ext.csv'
) ON ALL
FORMAT 'CSV' ( delimiter ';' null '' escape '"' quote '"' header fill missing fields )
ENCODING 'WIN1251';
我的CSV的内容是:
date; product_code; product_name; product_operation_code; product_operation_name;department;process_code;process_name ;process_stage_code;process_stage_name.
函数IS:
CREATE OR REPLACE FUNCTION etl.fnc_products_mapping_temp_sa_load()
RETURNS void
LANGUAGE plpgsql
VOLATILE
AS $$
BEGIN
TRUNCATE TABLE stg.products_mapping_temp;
INSERT INTO stg.products_mapping_temp(
"date",
product_code,
product_name,
product_operation_code,
product_operation_name,
department,
process_code,
process_name,
process_stage_code,
process_stage_name
)
SELECT
to_date("date", 'dd.mm.yyyy'),
product_code,
product_name,
product_operation_code,
product_operation_name,
department,
ltrim(rtrim(process_code)),
ltrim(rtrim(process_name)),
ltrim(rtrim(process_stage_code)),
ltrim(rtrim(process_stage_name))
FROM stg.products_mapping_temp_ext;
END;
$$
EXECUTE ON ANY;
I am trying to import a csv file to postgres db:
CREATE EXTERNAL TABLE dwh.stg.products_mapping_temp_ext (
date varchar,
product_code varchar,
product_name varchar,
product_operation_code varchar,
product_operation_name varchar,
department varchar,
process_code varchar,
process_name varchar,
process_stage_code varchar,
process_stage_name varchar
)
LOCATION (
'gpfdist://worker:6666/dags/csv/quarter_kpi/products_mapping_temp_ext.csv'
) ON ALL
FORMAT 'CSV' ( delimiter ';' null '' escape '"' quote '"' header fill missing fields )
ENCODING 'WIN1251';
The content of my CSV is:
date; product_code; product_name; product_operation_code; product_operation_name;department;process_code;process_name ;process_stage_code;process_stage_name.
function is:
CREATE OR REPLACE FUNCTION etl.fnc_products_mapping_temp_sa_load()
RETURNS void
LANGUAGE plpgsql
VOLATILE
AS $
BEGIN
TRUNCATE TABLE stg.products_mapping_temp;
INSERT INTO stg.products_mapping_temp(
"date",
product_code,
product_name,
product_operation_code,
product_operation_name,
department,
process_code,
process_name,
process_stage_code,
process_stage_name
)
SELECT
to_date("date", 'dd.mm.yyyy'),
product_code,
product_name,
product_operation_code,
product_operation_name,
department,
ltrim(rtrim(process_code)),
ltrim(rtrim(process_name)),
ltrim(rtrim(process_stage_code)),
ltrim(rtrim(process_stage_name))
FROM stg.products_mapping_temp_ext;
END;
$
EXECUTE ON ANY;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论