Pentaho - 数据格式
Posted
技术标签:
【中文标题】Pentaho - 数据格式【英文标题】:Pentaho - Data Format 【发布时间】:2020-02-25 13:48:19 【问题描述】:我有两个关于 Pentaho Kettle 的问题,我需要一些帮助! 所以,我有一个包含一些数据的 CSV 文件。在一个列中,文件有一些日期(以年为单位)。第一个问题是,一些行在该列中有“无”,而其他行的日期格式正确。 这张图片应该有助于“看到”问题:
Problem One
为了解决这个问题,我将输入文件和数据库中的数据类型更改为字符串。这行得通,但我认为这不是正确的做法。我也尝试使用“过滤行”步骤,但没有奏效..请帮忙? :)
第二个问题是关于日期字段中的空值。数据库希望收到一个日期值,但其中一些值为空。再一次,这张图片应该有助于“看到”问题:
Problem Two
我能做些什么来解决这两个问题?什么是正确的方法,不仅可以解决问题,而且在以后查询数据时具有良好的性能?
非常感谢!
最好的问候!
【问题讨论】:
【参考方案1】:对于第一个查询,使用输入步骤作为字符串,之后使用 选择值 步骤可以将字符串更改为日期格式。 对于第二步,使用过滤行步骤并分隔具有 none 的行,然后将 none 替换为 null 并链接到下一步。
【讨论】:
【参考方案2】:对于 Year 列中的 "None" 字符串值,您可以先将该列读取为字符串,然后您可以使用名为 "Null if" 的步骤并给出 "None" 作为值转为 NULL。稍后您可以在 Select Values 中将此 Year 列设为 Integer 类型。
对于第二个问题,由于您的表设计期望日期列具有非空值,您可以将非空约束更改为可为空。或者,如果您想要此类空值的默认值,则可以使用步骤“如果字段值为空”,您可以在此处指定默认值。 如果要使用前几行中日期的非空值,可以在步骤文本文件的字段选项卡中将Repeat设置为Y输入
【讨论】:
【参考方案3】:或者,对于两种情况,您可以尝试使用“Value Mapper”从无到您的数据库可以接受的东西。
【讨论】:
以上是关于Pentaho - 数据格式的主要内容,如果未能解决你的问题,请参考以下文章
使用 javascripting 在 Pentaho 中更改日期格式
转换字段值 pentaho(kattle) 并将其以标准格式存储在任何表中
用于创建 Pentaho 报告的 Java 代码,此报告接受作为数据集成 (.ktr) 文件的输入
Pentaho 数据集成 (DI) 获取 SFTP 服务器目录中的最后一个文件