DBMSでのテーブル列の直接のフィルタリングと集計 - 7.3

SQLTemplate

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > ELTコンポーネント > SQLテンプレート
データガバナンス > サードパーティーシステム > ELTコンポーネント > SQLテンプレート
データクオリティとプレパレーション > サードパーティーシステム > ELTコンポーネント > SQLテンプレート

以下のシナリオでは、MySQLデータベースの接続をオープンするジョブを作成し、さらに:

Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントを参照してください。

  • フィルターで指定されたカラム名と一致する行が存在するデータベーステーブルからスキーマをインスタンス化し、

  • 同じデータベーステーブルのカラムをフィルタリングして、WHERE句に一致するデータのみを保管します。

  • フィルタリングされたカラムから特定の値によってグループ化されたデータを収集し、ターゲットデータベーステーブルに集計データを書き込みます。

データベーステーブルのカラムをフィルタリングして集計するには:

  • [Palette] (パレット)からtELTMysqlconnectiontSQLTemplateFilterColumnstSQLTemplateFilterRowstSQLTemplateAggregatetSQLTemplateCommittSQLTemplateRollbackをデザインワークスペースにドロップします。

  • [OnComponentOk]リンクを使用して、最初の5つのコンポーネントを接続します。

  • [OnComponentError]リンクを使用してtSQLTemplateAggregatetSQLTemplateRollbackに接続します。

  • デザインワークスペースでtMysqlConnectionを選択し、[Component] (コンポーネント)タブをクリックしてtMysqlConnectionの基本設定を定義します。

  • [Basic settings] (基本設定)ビューで、データベース接続詳細を手動でセットするか、DB接続が[Repository] (リポジトリー)ツリービューの[Metadata] (メタデータ)エリアに定義され、保管されている場合[Property Type] (リポジトリータイプ)リストから[Repository] (リポジトリー)を選択します。

メタデータの詳細は、『 Talend Studioユーザーガイド』を参照してください。

  • デザインワークスペースでtSQLTemplateFilterColumnsを選択し、[Component] (コンポーネント)タブをクリックして基本設定を定義します。

  • [Database type] (データベースタイプ)リストで、関連するデータベースを選択します。

  • [Component] (コンポーネント)リストで、複数の接続が使用されている場合は、関連するデータベース接続コンポーネントを選択します。

  • 対応するフィールドにデータベース、ソーステーブル、およびターゲットテーブルの名前を入力し、[Edit schema] (スキーマを編集)の横にある3点ボタンをクリックして、ソーステーブルおよびターゲットテーブルでデータ構造を定義します。

注:

ソーステーブルのデータ構造を定義すると、カラム名が[Column filters] (カラムフィルター)パネルの[Column] (カラム)リストに自動的に表示されます。

このシナリオでは、ソーステーブルに[id]、[First_Name]、[Last_Name]、[Address]、および[id_State]という5つのカラムが含まれています。

  • [Column filters] (カラムフィルター)パネルで、ソーステーブルに書き込むカラムのチェックボックスをオンにして、カラムフィルターを設定します。

このシナリオでは、tSQLTemplateFilterColumnsコンポーネントにより、 ソーステーブルの[id]、[First_Name]、および[id_State]の3つのカラムのみがインスタンス化されます。

注:

[Component] (コンポーネント)ビューでは、[SQL Template] (SQLテンプレート)タブをクリックし、システムSQLテンプレートを追加するか、独自に作成して、コード化された操作を実行するジョブで使用できます。詳細は、tSQLTemplateFilterColumns標準プロパティを参照してください。

  • デザインワークスペースでtSQLTemplateFilterRowsを選択し、[Component] (コンポーネント)タブをクリックして基本設定を定義します。

  • [Database type] (データベースタイプ)リストで、関連するデータベースを選択します。

  • [Component] (コンポーネント)リストで、複数の接続が使用されている場合は、関連するデータベース接続コンポーネントを選択します。

  • 対応するフィールドにデータベース、ソーステーブル、およびターゲットテーブルの名前を入力し、[Edit schema] (スキーマを編集)の横にある3点ボタンをクリックして、ソーステーブルおよびターゲットテーブルでデータ構造を定義します。

このシナリオでは、ソーステーブルには、最初にインスタンス化された[id]、[First_Name]、および[id_State]という3つのカラムがあり、ソーステーブルには、同じ3つのカラムのスキーマがあります。

  • [Where condition] (Where条件)フィールドに、指定した条件を満たすレコードのみを抽出するWHERE句を入力します。

このシナリオでは、tSQLTemplateFilterRowsコンポーネントは、ソーステーブルの[First_Name]カラムのフィルタリングを行い、「a」の文字を含む最初の名前のみを抽出します。

  • デザインワークスペースで、tSQLTemplateAggregateを選択し、[Component] (コンポーネント)タブをクリックして基本設定を定義します。

  • [Database type] (データベースタイプ)リストで、関連するデータベースを選択します。

  • [Component] (コンポーネント)リストで、複数の接続が使用されている場合は、関連するデータベース接続コンポーネントを選択します。

  • 対応するフィールドにデータベース、ソーステーブル、およびターゲットテーブルの名前を入力し、[Edit schema] (スキーマを編集)の横にある3点ボタンをクリックして、ソーステーブルおよびターゲットテーブルでデータ構造を定義します。

ソーステーブルのスキーマは、id, First_Nameid_Stateという3つのカラムで構成されています。ターゲットテーブルのスキーマはcustomers_statuscustomers_numberという2つのカラムで構成されています。このシナリオでは、婚姻区分で顧客をグループ化し、各グループの顧客数をカウントします。そうするには、パネルごとに[Operations] (操作)および[Group by] (グループ化)を定義します。

  • [Operations] (操作)パネルで、[+]ボタンをクリックして1つまたは複数の行を追加し、[Output column] (出力カラム)の行をクリックして、カウントしたデータが含まれる出力カラムを選択します。

  • [Function] (関数)ラインをクリックし、実行する操作を選択します。

  • [Group by] (グループ化)パネルで、[+]ボタンをクリックして1つまたは複数の行を追加し、[Output column] (出力カラム)の行をクリックして、集計データを保持する出力カラムを選択します。

  • デザインワークスペースでtSQLTemplateCommitを選択し、[Component] (コンポーネント)タブをクリックして基本設定を定義します。

  • [Database type] (データベースタイプ)リストで、関連するデータベースを選択します。

  • [Component] (コンポーネント)リストで、複数の接続が使用されている場合は、関連するデータベース接続コンポーネントを選択します。

  • tSQLTemplateRollbackについても同じようにします。

  • ジョブを保存し、[F6]を押して実行します。

2カラムのテーブル[aggregate_customers]がデータベースに作成されます。婚姻区分に基づいて顧客をグループ化し、各グループの顧客数をカウントします。