根据 IBM 的 Sort Stage 文档:
创建集群键变更列
此属性针对排序类型 DataStage 出现,并且是可选的。默认设置为 False。如果设置为 True,它会告诉排序阶段在每个输出记录中创建列 clusterKeyChange。 对于每个组中的第一条记录,clusterKeyChange 列设置为 1,其中组是通过使用“不排序(先前排序)”或“不排序(先前分组)”的排序键模式来定义的。该组中的后续记录将 clusterKeyChange 列设置为 0。
创建密钥更改列
此属性针对排序类型 DataStage 出现,并且是可选的。默认设置为 False。如果设置为 True,它会告诉排序阶段在每个输出记录中创建列 KeyChange。 对于每组中排序键值发生更改的第一条记录,KeyChange 列设置为 1 。该组中的后续记录将 KeyChange 列设置为 0。
这两个选项听起来非常相似。
我什么时候应该使用哪些选项?
最终效果如何?
是的,基本上是一样的,但是您可能会发现需要使用集群键更改功能的情况,以便可以级联键更改。
例如,如果您获取包含每天多个值的年初至今数据,并且您想要计算每天的总和以及每个月的总和,则您可以使用每个新日期的关键更改信息和每个新月的集群密钥都会发生变化。 (或者反之亦然?只需尝试合适的方法即可。) 由于更改信号随组的每个第一行一起提供,因此您可能只想通过将值添加到总和变量上来收集总和,并且一旦您点击一个
KeyChange=1
值,您可以在将当前值添加到新组之前将总和变量重置为零。