# サンプルユースケース - データの検証とクレンジング
データのクレンジングと検証は、適切なデータセットがビジネスアプリケーションに追加されることを確実にするための鍵です。多くの場合、ソースからの入力データは様々な理由で正確でないことがあり、下流に送信される前に、目的地側の制約を満たすように検証、標準化、およびフォーマットする必要があります。
SQL変換は、ユーザーが以下を行うことを可能にする様々な機能を提供します:
データの検証とクレンジング
SQL変換は、パターンマッチングやメールアドレスや電話番号の有効性の確認、特定の列の不要なスペースや特殊文字のトリミングや削除などをサポートしています。
標準化
SQL変換は、電話番号に国コードや地域コードを追加したり、名前の異なる部分を分割または結合したり、提供された郵便番号が有効であることを確認することができます。
変換
整数や小数を最も近い値に丸めたり、日付/時間をあるフォーマットから別のフォーマットに変換したり、ヌル値を特定のデフォルト値に置き換えたりすることができます。
# サンプルレシピ:オンプレミスソースからリードを抽出し、Marketoにロードする前にデータを検証およびクレンジングする
次のシナリオを考えてみましょう:
ある企業が、積極的なオンラインおよびオフラインのマーケティングキャンペーンを実施しており、大量のリードを生成しています。これらのリードはまとめられてオンプレミスシステムのCSVファイルに保存されています。企業は、リードを抽出し、基本的な検証ロジックをパスすることを確認し、フィルタリングされたリードを一括してMarketoに送信することを計画しています。
リード情報が非常に大きいため(約10万件のレコード)、通常はWorkatoを使用してすべてのリードを外部データベースに保存し、リードを検証するクエリを実行する必要があります。その後、クレンジングされたリードをWorkatoに再度取得してフィルタリングし、それからMarketoにロードしなければなりません。
これは非常に面倒であり、外部データベースシステムへの依存を生み出します。
SQL変換を使用すると、同じワークフローをいくつかの簡単なステップで実現できます!
トリガーで、オンプレミスシステムであるファイルのソースを設定し、新しい受信ファイルを探すように設定します。
ファイルが利用可能になったら、それを取得し、WorkatoのFileStorageシステムに保存します。これはWorkato内のファイルのバックアップとして機能し、何らかの理由でロードに失敗した場合に再利用できます。
次に、SQL変換コネクタからQuery CSVアクションを設定し、リードを検証およびフィルタリングしてクレンジングされたデータを生成します。
データをCSVファイルとしてMarketoに送信します。
# データの検証とクレンジングのためにSQL変換を活用する方法
このセクションでは、Query CSVアクションの設定方法を説明し、データの検証とクレンジングのためにSQL変換を活用できるようにします。
Follow along
See this recipe link to follow along and modify a sample recipe to suit your own workflow.
# データソースのセットアップ
SQL変換がクエリを実行する異なるデータソースを接続します。ここでは2つのデータソースがあります。
Source #1を接続するには、以下のフィールドに入力します。私たちの例では、Source #1はオンプレミスシステムからの受信抽出です。
データソース名
Data source nameに意味のある名前を付けます。例えば、leads。
データソースタイプ
Data source typeを選択します。この例では、上流のオンプレミスシステムからCSVデータが入ってくるため、CSV content streamです。
CSVストリーム入力
データソースをCSV content streamとして設定した後、CSVストリーム入力を設定できます。これは、オンプレミスファイルのトリガーから来るファイル内容を渡す場所です。
データスキーマ
Data schemaを設定します。いくつかのサンプル連絡先データを含むCSVファイルをインポートすることで簡単に行えます。
Connect Source #1
CSV固有のオプションを設定します。これには以下のフィールドが含まれます:
CSVヘッダー行を無視
これは、受信データに無視すべき見出し列があり、データの一部として考慮しないかどうかをユーザーが指定できます。
列区切り記号
CSVファイルで列を区切るために使用される区切り記号を選択します。利用可能なオプションには、,(カンマ)、;(セミコロン)などがあります。
Source #2を接続するには、以下のフィールドに入力します。
データソース名
Data source nameに意味のある名前を付けます。例えば、zipcode_lookup。
データソースタイプ
Data source typeを選択します。この例では、FileStorage fileです。このデータは非常に頻繁に再利用でき、あまり変更されないため、Workatoの内部永続ファイルストレージシステムであるFileStorageを使用して、このデータを簡単に保存および処理できます。
CSVストリーム入力
データをフェッチするためのCSV参照データピルを提供します。私たちの例では、Googleドライブのダウンロードアクションの内容を使用します。
データスキーマ
Data schemaを設定します。いくつかのサンプル連絡先データを含むCSVファイルをインポートすることで簡単に行えます。
Connect Source #2
# クエリの設定
データソースで動作し、変換された出力を生成するクエリを設定します。私たちの例では、クエリは名と姓を連結してフルネームを標準化し、提供されたメールIDが特定のパターンに従っているかをチェックし、郵便番号ルックアップファイルと結合することで、提供された郵便番号が有効であるかどうかも検証しています。
# 出力の設定
最後に、出力の形式を定義します。クレンジングされたリードをMarketoに送信する予定なので、出力タイプはCSV contents streamを選択します。これは、Marketoの一括アクションのファイル入力セクションで、Query CSVデータからのCSV contents出力データピルを渡すことができ、内容が自動的にQuery CSVアクションからMarketoにストリーミングされることを意味します。また、データソースの設定と同様に、ここでは出力CSVコンテンツで使用する区切り文字やカラムヘッダーを含めるかどうかを選択するオプションがあります。
以下のフィールドに入力します:
出力タイプ
出力のタイプを選択します。CSV content streamを使用して、内容を下流のアクションにストリーム可能なデータピルとして共有します。
ヘッダー行を含める
データからのカラム名をファイル内のヘッダー行として追加する必要がある場合は、Yesに設定します。これは、ファイルを使用してレポートを生成する予定がある場合に便利です。デフォルト値はNoです。
カラム区切り記号
CSVファイルで列を区切るために使用される区切り記号を選択します。利用可能なオプションには、,(カンマ)、;(セミコロン)などがあります。
Bulk import leads to Marketo from fileアクションを選択します。
ファイル入力
Marketoにインポートするファイルの内容。ステップ2からのCSV contentsをマップします。
カラムセパレータ
CSVファイルで列を区切るために使用される区切り記号を選択します。利用可能なオプションには、,(カンマ)、;(セミコロン)などがあります。
ヘッダー行を含みますか?
CSVコンテンツにヘッダー行が含まれている場合は、Yesを選択します。それ以外の場合は、Noを選択します。ファイルにヘッダー行が含まれている場合、アクションは最初の行をリードとしてインポートすることをスキップします。
# 次を読む
Last updated: 2024/12/18 21:44:08