Post-Job (ELT)


Post-Job (ELT)


ELT とは?

ELT(Extract(抽出)、Load(ロード)、Transform(変換))は、変換などのデータの変更がロード処理後に行われるデータ抽出の手法です。現代のクラウドデータウェアハウスは膨大なストレージとスケーラビリティをそなえているため、データすべてを移動して、その後変更を加えることができます。ETL とELT の主な違いは、手順を実行する順序です。

ELT 変換により、カラム名の変更、SQL 関数の適用によるデータ値の変更、および同期先カラムへのそれらのマッピングが可能になります。Sync データパイプライン内で直接計算される新しい値を追加することもできます。

ELT にはさまざまな利点があります。

  • パフォーマンス:現代のデータベースには膨大なストレージがそなわっているため、ELT で、変更を実装する前に更新されたデータをすべて移動することができます。データを事前に整形したり加工する必要がないので、これまでのETL の手法と比べて変換のスピードや効率が大幅に上昇します。
  • シンプルさ:大量のデータを移動する必要がある際には、ELT は変換処理をストリーム化してシンプルにします。

変換の設定

変換を作成、設定するにはまず、CData Sync 上部のメニューバーから[変換]をクリックします。

Nav バー

変換画面が表示されます。この画面で、以前設定された変換のリストの閲覧、変換の編集や削除、クエリの実行、新しい変換の追加、といったことができます。

新しい変換を追加するには、[変換を追加]ボタンをクリックしてください。[新しい変換を作成]モーダルが表示されます。この画面で、変換名を入力して関連付ける接続を選択できます。変換名を設定して接続を選択したら、[作成]をクリックして設定を続けます。

変換を追加

変換の詳細画面

変換の詳細画面は、2つのセクションに分かれています。[接続]と[ジョブ設定]です。

変換の設定

[ジョブ設定]セクションはいくつかの部分に分かれています。

タスク

[タスク]セクションでは、変換の一部として実行されるクエリを管理できます。[設定]をクリックして、変換を入力してください。’;’ で区切ることで、複数のステートメントを入力できます。複数のステートメントを入力する際には、ステートメントは個別のタスクに分割されます。これらのタスクは逐次実行され、実行されるステートメント毎にログが記録されます。

スケジュール

[スケジュール]セクションでは、変換をスケジュールに従って実行するよう設定できます。詳細は、ジョブのスケジュールを参照してください。

通知

変換はジョブ実行の完了時にE メール通知を送信するように設定できます。メールサーバーの構成の詳細は、通知を参照してください。

ログと履歴

[ログ]セクションでは、現在の変換をモニタし以前の変換をレビューできます。Verbosity の各レベルに含まれる情報とログファイルの取得方法についての詳細は、ログと履歴を参照してください。

全データベース用のサンプルクエリ

重複レコード

CREATE OR REPLACE TABLE dbo.Accounts_Deduplicated as (
  SELECT *, row_number() over (partition by id order by modified desc) as duplicate_rank 
  FROM dbo.Accounts
);	
DELETE FROM dbo.Accounts_Deduplicated	WHERE duplicate_rank > 1;