ローコードおよびノーコードの機能を持つIntegrate.ioは、あらゆる企業のETLとデータ統合をご支援します。しかし、Integrate.ioの非常にユーザーフレンドリーなインターフェイスであっても、設計した変換が意図したとおりに動作しない可能性がありますので、問題を素早くデバッグして解決する必要があります。
幸いなことに、Integrate.ioには、問題を解決するために複数のデバッグオプションがあります。以下では、Integrate.ioでデバッグできる3つの方法について説明します。その中には、ETLパイプラインを通過する際にデータを視覚化できる新機能「コンポーネント・プレビューア」も含まれています。
Integrate.ioでのデバッグ方法その1 : ファイルストレージへの書き込み
Integrate.ioでデバッグする最も簡単な方法の1つは、中間データをS3などのファイルストレージに書き込み、そのファイルを開いてデータの出力結果を使い、エラーを調べる方法です。
Integrate.ioにはCloneコンポーネント(処理を分岐させる機能)があり、1つのデータフローを2つ以上のデータフローに分割することができます。Integrate.ioでデバッグするために、ETLパイプラインにCloneコンポーネントを挿入することができます。片方のデータフローはそのままパイプラインを継続し、もう片方のデータフローは中間出力をファイルストレージのバケット(例えば、Amazon S3)に出力します。
ファイルストレージはデータのフォーマットを問わないので、(たとえバグがあっても)問題なく出力することができます。もう一つの利点は、ファイルストレージに書き込むことで出力結果を一度に見ることができるので、データの一部に小さなエラーが隠れている場合に非常に有効です。
以下は、ここまで説明したデバッグの処理を実際にパイプラインに実装した場合にIntegrate.ioのダッシュボードでどのように見えるかを示した簡単な例です。デバッグのフローを追加する前は、select_1コンポーネントとselect_3コンポーネントは直接接続されていました。clone_2コンポーネントは、データフローを2つに分割します。片方のデータフローはselect_3コンポーネントへと接続し、もう片方のデータフローはfile_storage_4コンポーネントに出力されます。
Integrate.ioでのデバッグ方法その2 : X-Console
Integrate.ioの関数を使用する際にデバッグが必要な場合、X-Consoleがピッタリです。Integrate.ioのX-Consoleは、ETLパイプラインの影響を受けず、データフロー内の関数を実装前にテストするための「サンドボックス」として機能します。このようなサンドボックス環境は、UnixシェルやPythonなどのプログラミング言語のREPLインタープリタを使用しているユーザーには馴染みがあるはずです。X-Consoleは、一般的なトラブルシューティングや迅速な関数の動きやシンタックスのチェック(例えば、ある関数が期待通りのデータタイプを返すかどうかを確認する)に非常に役立ちます。
X-Consoleを使用するには、まずパイプライン内の任意の変換コンポーネントをクリックし、コンポーネント内の任意のフィールドの左側にある編集アイコン(鉛筆と紙のような形をしています)をクリックします。その後、Expression Editorが起動するので、モーダルウィンドウの右上隅にある「X-Console」ボタンをクリックし、X-Consoleを起動します。
Integrate.ioでのデバッグ方法その3 : コンポーネントプレビューアー
ファイルストレージへの書き込みやX-Consoleの使用は、Integrate.ioでのデバッグに非常に効果的ですが、制限もあります
- ファイルストレージへの書き込みは、大量のデータを扱うには煩雑で、面倒になることもあります。
- X-Consoleは、ジョブ実行時に使用するデータを操作することはできず、コンソール内で定義した変数のみを操作することができます。
あらゆる状況に適した選択肢を持つために、Integrate.ioではデバッグを行うための3つ目の方法を導入しました。それがコンポーネントプレビューアーです。これは、Integrate.ioのパッケージデザイナーで利用できる新しい機能で、データがETLパイプラインをStepごとに通過する際にどのように見えるかを示すウィンドウを提供します。コンポーネントプレビュアーを使えば、データフローのロジックを確認・検証し、バグやエラーの原因を突き止めることがこれまで以上に簡単になります。
コンポーネントプレビュアーを使用するには、任意の変換コンポーネント(クローンコンポーネントを除く)をクリックし、黄色い「プレビュー」ボタンをクリックします。Integrate.ioは、変換のこのステップまでジョブを実行します。実行時間を短縮するために、コンポーネントプレビューアーはデータソースからごく一部のデータしか取得しません。
プレビュージョブが完了すると、変換の結果が「データプレビュー」ヘッダーの下に表示されます。出力結果は、表形式またはRAW形式で見ることができます。
Integrate.ioのコンポーネントプレビューアは、エラーの原因を切り分ける必要がある複雑なマルチステップ変換のデバッグに最適です。ここでは、最近エラーとなったジョブについてコンポーネントプレビュアーの使い方を説明します。
- Integrate.ioのダッシュボードの右側のサイドバーにある「Jobs」アイコンをクリックします。
- 上部の検索バーに「status:failed」と入力し、「Search」ボタンをクリックします。
- エラーとなったジョブが、新しいものから古いものの順に一覧に表示されます。該当するジョブの右側にある「View details」をクリックします。すると、そのジョブのエラーログを含むWindowが表示されます。デバッグしたいエラーのログを確認します。
エラーの原因がわかれば、エクスプレッションエディターから直接修正することができます。以下の例では、ターゲット・データ・ウェアハウスは最大6文字のPER_FirstNameとPER_LastNameの値しか受け付けないため、長すぎる名前をロードしようとするとエラーが発生しました。式エディタのSUBSTRING関数を適用してこれらの名前を切り詰め、ターゲットスキーマに合わせました。
コンポーネントプレビューアを使用する際の注意点
コンポーネントプレビューアで取得されるデータにはリミット(50レコード)が設定されており、プレビューアでは50件をサンプルとして取得し処理されます。JOINコンポーネントを利用した場合に、結合する2つのデータセットでJOINキーに対応するレコードが実際のデータセットに存在する場合でも、プレビュー上では、サンプルされた50件同士がJOINされるため、JOINキーが正しくマッチングしない場合があります。こうした場合、JOIN処理の正確な結果を検証したい場合はジョブを実行し、確認する必要があります。
Integrate.ioでETLワークフローのデバッグを高速化
コンポーネントプレビュアーのおかげで、Integrate.ioはETLパイプラインのデバッグをこれまで以上に簡単にしました。これは、Integrate.ioがマーケットにおいて最もパワフルでユーザーフレンドリーなETLプラットフォームである理由の一つです。Integrate.ioは、豊富な関数、シンプルなGUI、100種類以上の統合機能、一流のテクニカルサポートを備えており、誰でもデータ統合のプロになることができます。
自社に最適なETLソリューションをお探しですか?私たちがお手伝いします。 ぜひオンラインデモに登録し、ご相談ください。