データマネジメントチームの金野 浩之です。
データクレンジングの一次処理におけるstore_last_resultsの活用方法についてご説明いたします。
目次
続きは会員登録およびログイン後にご覧いただけます。以下からログインしてください。
store_last_resultsとは
store_last_resultsとはWorkflow(digdag)内で利用できるオペレータで、queryの実行結果の最初の1行を保持して次の処理に渡すことが可能です。store_last_resultsを活用することで効率的なデータ処理を行うことができます。
store_last_resultsを利用したWorkflow サンプルその1
以下のように、後続タスクで実行するqueryのwhere句の条件に、store_last_resultsの値を変数として渡すことも可能です。
store_last_resultsを利用したWorkflow サンプルその2
store_last_results活用方法 – WF再実行時のduplicate制御
store_last_resultsを利用したデータ処理の例として、テーブルが存在しない場合はcreate tableを行うWorkFlowのサンプルをご紹介します。
store_last_resultsを利用したWorkflow 活用例
store_last_results活用方法(更新差分データのみ抽出)
外部ツールへデータ連携する場合、外部連携済みのデータ処理日分のデータを比較し、差分のフラグを立てることで未連携分のレコードのみ出力することも可能です。
WF の前半部分では、historyテーブルのmax(time)を取得してstore_last_resultsに渡します。また何らかの理由でWFを再実行した場合に、ログが残り続けないようduplicate処理を実行します。
WF後半の処理で、store_last_resultsの値を活用し、更新差分データの判定を行います。