将CSV中的时间戳数据插入时间戳数据类型的红移表列时出错

w41d8nur  于 2023-01-22  发布在  其他
关注(0)|答案(1)|浏览(148)

我尝试将UTF-8编码的CSV文件中的数据插入Redshift数据库,但在尝试将时间戳插入具有timestamp数据类型的列时,出现错误。
下面是CSV示例:

employeeId,employeeDept,employeeName,shiftStartTime,shiftEndTime,onPremises
KL214691,John Smith,operations,2023-01-17 09:01:34,2023-01-17 16:52:41,1
KL214692,Samantha Kennedy,operations,2023-01-17 08:31:54,2023-01-17 16:09:10,1

下面是一个示例表DDL:

create table historical_metrics_agent_status_time_on_status
(
    employeeid       varchar(10),
    employeename     varchar(100),
    employeedept     varchar(50),
    shiftstarttime   timestamp encode az64,
    shiftendtime     timestamp encode az64,
    onpremises       boolean,
    importdatetime   timestamp encode az64
)
    sortkey (employeeid);

错误消息显示在列shiftstarttime的位置4上有一个无效的数字-,该列具有原始字段值2023-01-17 09:01:34。看起来它没有正确地从CSV文件中阅读时间戳。CSV中是否缺少某些内容?

igetnqfo

igetnqfo1#

检查stl_load_errors以查找失败的确切行。我的猜测是VARCHAR列中有一个逗号(,),导致CSV与表列的对齐不正确。例如,其中一个名称输入为“Smith,Joe”。

相关问题