记录在复制时在HP Vertica中被拒绝

时间:2014-05-02 06:49:51

标签: vertica

我正尝试从管道分隔的文本文件中通过COPY DIRECT在HP Vertica中加载分段表。

COPY CSI.MKT_RSRCH_AGG_ALL FROM '/opt/vertica/CSI/MKT_RSRCH_AGG_ALL.txt' DELIMITER '|' NULL '' DIRECT;

结果

 Rows Loaded 
-------------
      582006

dbadmin=> select get_num_rejected_rows();

 get_num_rejected_rows 
-----------------------
                  6046

我无法弄清楚导致数据被拒绝的原因。

我的所有维度都定义为NOT NULL

我可以检查被拒绝记录的任何日志/信息。

1 个答案:

答案 0 :(得分:6)

我首先要验证数据的完整性。然后,我会将任何被拒绝的行发送到文件。您可以在COPY命令中specify this

COPY CSI.MKT_RSRCH_AGG_ALL 
FROM '/opt/vertica/CSI/MKT_RSRCH_AGG_ALL.txt' 
DELIMITER '|' 
NULL ''
REJECTED DATA '/path/to/rejected/data'
DIRECT;

如果您还没有,我建议您开始使用流名称来识别流程:

COPY ... DIRECT STREAM NAME 'My stream name';

您可以轻松监控流:

SELECT * FROM v_monitor.load_streams WHERE stream_name = 'My stream name';

<强>文档