2011-10-26 32 views
0

我們正在使用SSIS構建倉庫。太多密鑰組合 - 它必須重新散列數據

我做的聚集和我收到以下消息

聚合轉換遇到2000037個組合鍵。它必須重新散列數據,因爲組合鍵的數量比預期的要多。該組件可以被配置爲通過調節所述鑰匙,KeyScale和AutoExtendFactor性質

它沒有輸出寫入,以避免數據重新散列,並且最令人不安,但它確實不拋出任何異常。

這是怎麼回事?我該如何解決?

回答

2

組合鍵是數據流中的組數。將KeysScale(任務的高級屬性)值設置爲> 2000037的數字。嘗試儘可能接近地猜測,以便轉換可以分配足夠的內存來執行聚合。

我會盡可能避免使用這種轉換。它不僅內存密集,而且在完成之前它將阻止整個數據流任務。

數據來自哪裏?如果是關係數據庫,請將組,數據庫的順序和任何聚合移到數據庫查詢中。

+0

來源是一個數據庫表,其中1700萬行獲得UnPivoted,然後我有兩個查找,然後是三個派生列,只有大約100個計算通過它們傳播。聚合發生在派生列被寫入之後。我沒有任何排序。 –

+0

我正在循環月份,所以鍵組合的數量從一個月變爲另一個月。我將Keyscale屬性設置爲High,但沒有指定數字。沒問題,或者我必須爲此提供一個號碼嗎? –