對應資料流中的代理鍵轉換
適用於:Azure Data Factory Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用 (部分機器翻譯)!
Azure Data Factory 和 Azure Synapse Pipelines 中均可使用資料流。 本文適用於對應資料流。 如果您不熟悉轉換作業,請參閱簡介文章使用對應資料流轉換資料。
使用代理鍵轉換將遞增的索引鍵值新增至每個資料列。 在星型結構描述的分析資料模型中設計維度資料表時,此功能十分實用。 在星型結構描述中,維度資料表中的每個成員都需要一個非商務索引鍵的唯一索引鍵。
組態
索引鍵資料行:產生的代理鍵資料行名稱。
開始值:將產生的最低索引鍵值。
從現有來源遞增索引鍵
若要從存在於來源中的值啟始序列,建議您使用快取接收來儲存該值,並使用衍生的資料行轉換,將這兩個值加在一起。 使用快取查閱來取得輸出,並將其附加至產生的索引鍵。 如需詳細資訊,請了解快取接收和快取查閱。
從現有的最大值遞增
若要使用先前的最大值植入索引鍵值,您可以根據來源資料的位置使用兩種技術。
資料庫來源
使用SQL查詢選項,從來源選取 MAX()。 例如: Select MAX(<surrogateKeyName>) as maxval from <sourceTable>
。
檔案來源
如果先前的最大值位於檔案中,請使用彙總轉換中的 max()
函式來取得先前的最大值:
在這兩種情況下,您必須寫入快取接收並查閱值。
資料流程指令碼
語法
<incomingStream>
keyGenerate(
output(<surrogateColumnName> as long),
startAt: <number>L
) ~> <surrogateKeyTransformationName>
範例
上述代理鍵設定的資料流程指令碼位於下列程式碼片段中。
AggregateDayStats
keyGenerate(
output(key as long),
startAt: 1L
) ~> SurrogateKey1