使用Pentaho DI CE将CSV导入PostgreSQL的适配数据类型咨询(含日期问题)
数据类型匹配方案(Pentaho Data Integration CE → PostgreSQL)
针对你提供的CSV数据,以下是每个字段在Pentaho和PostgreSQL中的对应数据类型设置,确保数据正确导入:
1. date字段(格式:2017-01-01 00:00)
- Pentaho侧:在CSV输入组件中将字段类型设为
Date,并指定日期格式为yyyy-MM-dd HH:mm。若自动解析失败,可先按String类型读取,再通过「Select Values」或「Convert Fields」组件手动转换为Date类型并指定格式。 - PostgreSQL侧:使用
TIMESTAMP WITHOUT TIME ZONE(无需时区场景)或TIMESTAMP WITH TIME ZONE(需时区处理场景)。避免用DATE类型,否则会丢失时间部分。
2. x字段(值示例:101)
- Pentaho侧:设为
Integer - PostgreSQL侧:对应
INTEGER(或简写INT),足够存储该类整数数值。
3. y字段(值示例:1、3、5)
- Pentaho侧:设为
Integer - PostgreSQL侧:可选择
INTEGER,若确定数值范围在-32768~32767之间,也可用SMALLINT节省存储空间。
4. mm字段(值示例:0.004、1.2)
- Pentaho侧:设为
Double(或通用的Number类型) - PostgreSQL侧:优先用
DOUBLE PRECISION存储双精度浮点数;若需避免浮点数精度丢失,可改用NUMERIC(10,6)这类定点数类型(精度和小数位可根据业务调整)。
5. option字段(值示例:0)
- Pentaho侧:设为
Integer - PostgreSQL侧:用
INTEGER或SMALLINT;若该字段实际是布尔逻辑标识(0/1),也可改为BOOLEAN类型(导入时0会自动转为false,后续可按需调整)。
额外注意事项
- 确保CSV输入组件勾选「Header row present」,避免将表头行作为数据导入。
- 若遇到数值解析错误,检查Pentaho字段类型是否与CSV中实际值的格式匹配,比如是否存在隐藏的非数字字符。
内容的提问来源于stack exchange,提问作者Denzel
相关产品推荐
相关产品推荐

