メイン コンテンツをスキップする

tJDBCSCDELTコンポーネントを使ってSnowflakeテーブルのデータ変更を追跡する

このシナリオでは、tJDBCSCDELTコンポーネントによって実装されたSCD (Slowly Changing Dimensions)タイプ1およびタイプ2のメソッドを使ってSnowflakeテーブルの従業員データの変更をキャプチャーし、現在のデータと履歴データの両方をSCDディメンションテーブルに書き込むジョブについて説明します。

入力データには、namerolesalaryなどのさまざまな従業員の詳細が含まれており、入力データの統一性を確保するために別のidカラムが追加されています。

最初に、次の従業員データが新しいSnowflakeテーブルに挿入されます。

#id;name;role;salary
111;Mark Smith;tester;15000.00
222;Thomas Johnson;developer;18000.00
333;Teddy Brown;tester;16000.00

その後、テーブルは次のアップデートされた従業員データでアップデートされます。

#id;name;role;salary
111;Mark Smith;tester;15000.00
222;Thomas Johnson;tester;18000.00
333;Teddy Brown;writer;17000.00
444;John Clinton;developer;19000.00

Thomas Johnsonのロールがdeveloperからtesterに変更され、Teddy Brownのロールがtesterからwriterに変更され、その給与が16000.00から17000.00に増額されていることがわかります。さらに、id 444の新しい従業員レコードが挿入されています。このシナリオでは、以下が行われます。

  • 既存の名前とロールのデータが新しいデータで上書きされます。そのため、それらに対してSCDタイプ1メソッドが実行されます。

  • 給与データの完全な履歴が保持され、データが変更された新しいレコードが常に作成され、前のレコードは閉じられます。そのため、それに対してSCDタイプ2メソッドが実行されます。

SCDタイプの詳細は、SCD管理方法論をご覧ください。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。