0

我的源具有不同的日期格式,如下所示,我正在寻找一种算法来识别在 Pentaho Data 集成中尝试的源日期模式,其中包含选择值和模糊步骤。

日期列(字符串)
“20150210”
“20050822--”
“2014-02-May”
“20051509--”
“02-May-2014”
“2013-May-12”
“12DEC2013”
​​“15050815”
“May-02- 2014"
"12312015"

我知道在 PDI 中,我们可以通过 JS 一步来通过为每个模式编写 If 条件来实现,但这不是一个好主意,这种方法在处理大量记录时会导致转换失效,寻找搜索日期模式的有效方法。

我相信这是所有 ETL 项目中非常常见的问题,在这里我试图了解 SAS 数据集成、Informatica、SSIS 等企业供应商如何提供简单的处理方法。

我们是否有任何算法来识别源模式。如果有,是哪一个?

上面列出的格式不受限制。

4

1 回答 1

0

不能简单地将“单价”值确定为任何给定输入的格式。

考虑以下所有格式完全有效:

  • MM-dd-yy
  • dd-MM-yy
  • 年-月-日

正如@billinkc 的评论中所述,01-02-05在这种情况下你会怎么称呼?

如果有的话,只有考虑到数据集(例如,您知道接下来的 X 行都来自相同的日期格式),您才是可解决的。然后您可以将其视为具有一些约束的线性问题,可以帮助您确定日期格式。即使那样,你也不能保证你会得到一个明确的答案,只是增加你得到明确答案的可能性。

于 2015-11-16T13:15:12.307 回答