質問
Snowflakeコネクターを使用して異なるスキーマのテーブルを結合する場合、どのような方法がありますか。また、HULFT Square上での結合とSnowflake側での結合のどちらが推奨されますか。
回答
Snowflakeコネクターでは、1つのノードから参照できるスキーマは1つです。異なるスキーマのテーブルを結合する場合、各スキーマからそれぞれデータを取得したうえで、HULFT Square上の結合機能を使用する方法があります。
HULFT Square上でデータを結合する機能として、以下の2つがあります。
・マージMapper
複数の入力データをマッピングしながら結合できます。
参考:2.7.1.2 マージMapper(基本) 2.7.1.2.1 マージMapper(詳細)
・[結合処理]コンポーネント
データの結合に使用できる機能です。
参考:2.6.1.2 変換 2.6.1.2.1 基本 2.6.1.2.1.2 結合処理
マージMapperと[結合処理]コンポーネントは優劣があるものではなく、実現できる結合方法や設定方法が異なります。各マニュアルを参照のうえ、要件に応じて適した機能を選択してください。
HULFT Square上での結合とSnowflake側での結合のどちらが推奨されるかについては、複数のサービスのデータを結合して連携する処理はHULFT Square上で行うことを推奨しています。ただし、Snowflakeのような単体のDBサービス上の複数データを結合する場合については、個別の方法をサポートから推奨することは難しい状況です。HULFT Square上の結合処理のパフォーマンスとSnowflake側のパフォーマンスをお客様自身で比較のうえ、どちらがより適切かをご判断ください。
補足
・マージMapperや[結合処理]コンポーネントで大量データを扱う場合のメモリ使用量や処理負荷の目安は、Integrateサービスのスペックや負荷状況、データの内容によって変動するため、サポートから推奨設定や目安の提示はできません。お客様環境にて検証のうえご判断ください。
・大量データを扱う場合にメモリ負荷を軽減する機能として、パラレルストリーミング処理および大容量データ処理があります。結合処理においてはパラレルストリーミング処理がより適切です。
参考:2.3.2 大容量データの対応 2.3.2.1 パラレルストリーミング処理
コメント
0件のコメント
記事コメントは受け付けていません。