是否有用于数据完整性验证的标准DSL?

3 投票
1 回答
1106 浏览
提问于 2025-04-16 19:33

我遇到了一些来自客户的CSV文件,这些文件可能包含成千上万的行。请问有没有什么简单易用的工具(或者在Java或Python中非常流行的库),可以高效地对这些数据进行计算,并根据不同的规则发出警告和错误提示(当然,这些规则可以由用户自己设置)?

1 个回答

1

你能想象一个可以做到这一点的领域特定语言(DSL)吗?它的规则会是什么样子的?

几个月前,我在处理这样一个问题,最后发现这比我最开始想的要复杂得多。

  1. 第一步很明显——我把所有的行都解析出来,并放到一个特殊的数据结构中,这样我就可以对它们进行操作;那些缺少字段的行被丢弃了。

  2. 每一行都有一个当前的“策略”属性,以及一个可能的策略列表(比如默认操作、忽略、强制、覆盖等等)。

  3. 一开始,所有的行的“策略”属性都设置为“默认”。

  4. 行处理器会检查这个操作是否可行,并生成错误和警告的列表。

  5. 在处理和分析结果后,每一行如果出现问题,就会给出一个用户可以选择的替代策略列表。

所以,如果出现了问题,用户可以改变行的策略(或者简单地选择“忽略”),然后再回到第4步。

所以,我很好奇这样的领域特定语言会在哪一步起作用呢?

撰写回答