我们使用 Informatica 通过 GP 加载器将数据加载到 greenplum DB 中。在单个映射中,我们有并行流来插入和更新同一 Greenplum 目标中的数据。插入花费了很多时间,最后不得不中止工作流程。
gploader 正在创建两个 yaml 文件,一个用于插入,第二个用于更新。update 将等待插入过程完成。但是插入过程即使是 100 条记录也需要很多时间,而且它永远不会结束,我们最终必须终止该过程。
示例 YAML 文件:
%YAML 1.1
---
VERSION: 1.0.0.1
DATABASE: abcdgp_dev
USER: abcs
PASSWORD: srvb&34
HOST: 3.565.785.345
PORT: 5432
GPLOAD:
INPUT:
- SOURCE:
FILE:
- ../infa_shared/Temp/jaroswind_salesrep_mas_1_pipe
- COLUMNS:
- "salesrep_key":
- "salesrep_id":
- "salesrep_name":
- FORMAT: CSV
- DELIMITER: "\x24"
- ESCAPE: '/'
- NULL_AS: '/N'
- QUOTE: '^'
- ENCODING: utf8
- ERROR_LIMIT: 500
- ERROR_TABLE: jaroswind_err.err_SALESREP_MAS
OUTPUT:
- TABLE: jaroswind.salesrep_mas
- MODE: INSERT
PRELOAD:
- REUSE_TABLES: True
请提出解决方案。