按键组合太多 - 必须重新散列数据
我们正在使用SSIS构建一个仓库。
我正在进行聚合,收到以下消息
聚合转换遇到了 2000037 个按键组合。它必须重新散列数据,因为组合键的数量超出了预期。可以通过调整 Keys、KeyScale 和 AutoExtendFactor 属性来配置组件以避免数据重新哈希
它没有写入输出,并且最令人不安,它没有抛出异常任何例外情况。
这是怎么回事?我该如何解决这个问题?
We are building a warehouse using SSIS.
I am doing an aggregation and I received the following message
The Aggregate transformation has encountered 2000037 key combinations. It has to re-hash data because the number of key combinations is more than expected. The component can be configured to avoid data re-hash by adjusting the Keys, KeyScale, and AutoExtendFactor properties
It did not write the output, and most disturbingly, it did not throw any exceptions.
What is going on here? How do I fix this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
组合键是数据流中的组数。将 KeysScale(任务的高级属性)值设置为数字 > 2000037. 尝试尽可能接近地猜测,以便转换可以分配足够的内存来执行聚合。
我会尽可能避免使用这种转换。它不仅占用大量内存,而且会占用整个数据流任务直到完成。
数据从哪里来?如果是关系数据库,请将分组依据、排序依据和任何聚合移动到数据库查询。
Key combinations are the number of groups in the data flow. Set the KeysScale (advanced property of task) value to a number > 2000037. Try to guess as close as possible so that the transformation can allocate enough memory to perform the aggregation.
I would avoid using this transformation when at all possible. Not only is it memory intensive, but it holds up the entire data flow task until it completes.
Where is the data coming from? If a relational database, move the group by, order by, and any aggregates to the database query.