ルックアップコンポーネントの使用
データソースへの接続の確立 後、CData Spark SQL Lookup コンポーネントを使用してSpark SQL に対してルックアップを実行し、[データフロータスク]で一致した行と一致しなかった行を別の出力にマッピングできます。
Lookup コンポーネントを使用してSpark SQL データへのルックアップを実行
Lookup コンポーネントを使用してSpark SQL の特定のカラムセットに対してルックアップを実行できます。このコンポーネントには、1つの入力と2つの出力があります。一つは一致した行用、もう一つは一致しない行用です。このコンポーネントには、ルックアップのパフォーマンスに影響を与える可能性があるが、ルックアップ操作の結果に変わりはない2つのキャッシュオプションがあります。これらのキャッシュオプションについては、このセクションの後半で説明します。- SSIS ツールボックスで、[CData Spark SQL Lookup コンポーネント]を[データフロー]にドラッグします。
- [CData Spark SQL Lookup コンポーネント]をダブルクリックします。[CData Spark SQL Lookup コンポーネント]が開きます。
- Connection タブに移動します。Connection manager ドロップダウンリストで、有効なCData Spark SQL 接続マネージャーを選択するか、まだない場合は新しいインスタンスを作成します。
- アクセスモードとして、"Table or View" または"SQL Statement" を選択します。GUI を使用してテーブルやビューを選択する場合は、"Table or View" を選択します。任意のステートメントを構成する場合は、"SQL Statement" を選択します。
- Columns タブで、ルックアップを実行するフィールドを設定します。Available Input Columns リストのカラムをクリックし、Available Lookup Columns ボックスのルックアップしたいカラムまでドラッグします。
- オプションで、[Available Lookup Columns]セクションの各カラムのチェックボックスをオンにして、出力に含めるフィールドを選択できます。フィールドを新しいフィールドとして出力に追加するか、入力のフィールドの1つを上書きするかを選択できます。
Full Cache
Lookup コンポーネントのデフォルトのキャッシュモードはフルキャッシュです。このモードでは、Lookup コンポーネントは、最初の入力行が検出されるとすぐに一時的なSQLite キャッシュファイルを作成します。キャッシュには、Spark SQL テーブル内のすべての行が表示されますが、カラムはUI で選択されたものだけになります。キャッシュが構築されると、入力内の各行はこのローカルキャッシュに対してルックアップされます。このモードは、多くのルックアップが必要な大量のデータを扱うときに最適です。
Partial Cache
部分キャッシュモードはフルキャッシュに似ていますが、最初にテーブル全体を取得するのではなく、Lookup コンポーネントが入力から100行をバッチ処理して次の形式でデータソースにクエリを発行し、それらの結果のみをキャッシュします。SELECT ... WHERE LookupField IN ('value1', ..., 'value100')このモードは、単一カラムをルックアップする場合にのみ可能です。Spark SQL テーブル全体をキャッシュすることは非常に高負荷であるため、少量の入力データを扱う場合にパフォーマンスを向上できます。