我试图通过COPY DIRECT管道分隔的文本文件在HP Vertica中加载分段表.
COPY CSI.MKT_RSRCH_AGG_ALL FROM '/opt/vertica/CSI/MKT_RSRCH_AGG_ALL.txt' DELIMITER '|' NULL '' DIRECT;
Run Code Online (Sandbox Code Playgroud)
结果
Rows Loaded
-------------
582006
dbadmin=> select get_num_rejected_rows();
get_num_rejected_rows
-----------------------
6046
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚导致数据被拒绝的原因.
我的所有维度都已定义NOT NULL.
我可以检查被拒绝记录的任何日志/信息.
我首先要验证数据的完整性.然后,我会将任何被拒绝的行发送到文件.您可以在命令中指定COPY:
COPY CSI.MKT_RSRCH_AGG_ALL
FROM '/opt/vertica/CSI/MKT_RSRCH_AGG_ALL.txt'
DELIMITER '|'
NULL ''
REJECTED DATA '/path/to/rejected/data'
DIRECT;
Run Code Online (Sandbox Code Playgroud)
如果您还没有,我建议您开始使用流名称来标识进程:
COPY ... DIRECT STREAM NAME 'My stream name';
Run Code Online (Sandbox Code Playgroud)
您可以轻松监控流:
SELECT * FROM v_monitor.load_streams WHERE stream_name = 'My stream name';
Run Code Online (Sandbox Code Playgroud)
文档
| 归档时间: |
|
| 查看次数: |
1449 次 |
| 最近记录: |