Javaユーザー定義インジケーターの作成
- Big Data Platform
- Cloud API Services Platform
- Cloud Big Data Platform
- Cloud Data Fabric
- Cloud Data Management Platform
- Data Fabric
- Data Management Platform
- Data Services Platform
- MDM Platform
- Qlik Talend Cloud Enterprise Edition
- Qlik Talend Cloud Premium Edition
- Real-Time Big Data Platform
Javaインジケーターは個人用に作成してカスタマイズできます。
Javaユーザー定義インジケーターの管理手順は、システムインジケーターの管理手順と同じです。
また、[DQ Repository] (DQリポジトリー)ツリービューの[Exchange]フォルダーから、すぐに使用できるJavaユーザー定義インジケーターをインポートすることもできます。このJavaユーザー定義インジケーターは、メールサーバーに接続してメールがあるかどうかチェックします。
カスタムインジケーターを定義
- Big Data Platform
- Cloud API Services Platform
- Cloud Big Data Platform
- Cloud Data Fabric
- Cloud Data Management Platform
- Data Fabric
- Data Management Platform
- Data Services Platform
- MDM Platform
- Qlik Talend Cloud Enterprise Edition
- Qlik Talend Cloud Premium Edition
- Real-Time Big Data Platform
Procedure
- [DQ Repository] (DQリポジトリー)ツリービューで、[Libraries] (ライブラリー) > [Indicators] (インジケーター)と展開します。
-
[User Defined Indicators] (ユーザー定義インジケーター)を右クリックします。
-
コンテキストメニューから[New Indicator] (新規インジケーター)を選択します。
[New Indicator] (新規インジケーター)ウィザードが表示されます。
-
[Name] (名前)フィールドに、作成するJavaインジケーターの名前を入力します。
情報メモImportant:
~ ! ` # ^ * & \\ / ? : ; \ , . ( ) ¥ ' " " " < > といった特殊文字は項目名に使用しないでください。
ファイルシステムでは、これらの文字はすべて"_"に置き換えられ、重複する項目が作成されてしまう場合があります。
- Optional:
該当するフィールドで、その他のメタデータ(目的、説明、作成者)を設定して[Finish] (終了)をクリックします。
インジケーターエディターが開き、ユーザー定義インジケーターのメタデータが表示されます。
カスタムインジケーターの定義およびカテゴリーの設定
- Big Data Platform
- Cloud API Services Platform
- Cloud Big Data Platform
- Cloud Data Fabric
- Cloud Data Management Platform
- Data Fabric
- Data Management Platform
- Data Services Platform
- MDM Platform
- Qlik Talend Cloud Enterprise Edition
- Qlik Talend Cloud Premium Edition
- Real-Time Big Data Platform
Before you begin
Procedure
-
[Indicator Category] (インジケーターカテゴリー)をクリックし、リストからJavaインジケーターのカテゴリーを選択します。
カテゴリーによって、このインジケーターを使用する分析の結果セットから予想されるカラムの数が決まります。次のテーブルで、各カテゴリーを説明します。
インジケーターカテゴリー 説明 予想されるクエリー結果 [User Defined Match] (ユーザー定義一致) 条件に一致するデータの数を評価します。 結果セットは1行と2カラムになります。1番目のカラムには一致する値の数が、2番目のカラムには合計カウントが含まれます。 [User Defined Frequency] (ユーザー定義の頻度) 個々のレコードに対してユーザー定義インジケーターを使用してレコードの頻度を評価します。 結果セットは0以上の行と2カラムになります。1番目のカラムには値が、2番目のカラムにはこの値の頻度(カウント)が含まれます。 [User Defined Real Value] (ユーザー定義実数) データの実ファンクションを評価します。 結果セットは実数を含む1行と1カラムになります。 [User Defined Count] (ユーザー定義のカウント) レコードの数を分析し、行数を返します。 結果セットは行数を含む1行と1カラムになります。 - [Indicator Definition] (インジケーター定義)をクリックし、[+]ボタンをクリックします。
- [Database] (データベース)リストから[Java]を選択します。
-
[Java Class] (Javaクラス)フィールドにJavaクラスを入力します。
情報メモNote: クラス名にパッケージパスが含まれていることをご確認ください。この文字列パラメーターが正しく指定されていないと、Javaユーザー定義インジケーターを保存しようとする時にエラーメッセージが表示されます。
-
Javaクラスを含むJavaアーカイブを選択します。
- [Edit...] (編集...)ボタンをクリックします。[UDI selector] (UDIセレクター)ダイアログボックスが開きます。
- [Select libraries] (ライブラリーを選択)ビューで、Javaクラスが含まれているアーカイブのチェックボックスをオンにし、ウィザードの下部のパネルでクラスを選択します。
-
OKをクリックします。
ダイアログボックスが閉じ、インジケーターエディターにJavaアーカイブが表示されます。
このダイアログボックスの[Manage Libraries] (ライブラリー管理)ビューからJavaアーカイブを追加または削除できます。
Javaアーカイブの作成方法の詳細は、 ユーザー定義インジケーターのJavaアーカイブを作成をご覧ください。
-
[Indicator Parameters] (インジケーターパラメーター)をクリックしてビューを開き、パラメーター値を取得するためのパラメーターを定義しながらJavaインジケーターをコーディングできます。
次のようなコードでパラメーター値を取得できます。このサンプルではパラメーターEMAIL_PARAMを取得しています。
// Check prerequisite IndicatorParameters param = this.getParameters(); if (param == null) { log.error("No parameter set in the user defined indicator " + this.getName()); //$NON-NLS-1$ return false; } Domain indicatorValidDomain = param.getIndicatorValidDomain(); if (indicatorValidDomain == null) { log.error("No parameter set in the user defined indicator " + this.getName()); //$NON-NLS-1$ return false; } // else retrieve email from parameter EList<JavaUDIIndicatorParameter> javaUDIIndicatorParameter = indicatorValidDomain.getJavaUDIIndicatorParameter(); for (JavaUDIIndicatorParameter p : javaUDIIndicatorParameter) { if (EMAIL_PARAM.equalsIgnoreCase(p.getKey())) {
Javaユーザー定義インジケーターでパラメーターを使用する詳細なサンプルは、このドキュメンテーション (英語のみ)をご覧ください。 -
テーブルの下部にある[+]ボタンをクリックしてパラメーターキーと値の新しい行を定義します。
カラム分析でインジケーターを使用する際は、いつでもデフォルトのパラメーターを編集したり、新しいパラメーターを追加したりできます。そのためには、分析エディターでインジケーターオプションアイコンをクリックしてダイアログボックスを開き、必要に応じてデフォルトパラメーターを編集するか、新しいパラメーターを追加します。
-
エディターの上部にある保存アイコンをクリックします。
インジケーターが、[DQ Repository] (DQリポジトリー)ツリービューの[User Defined Indicators] (ユーザー定義インジケーター)フォルダーの下にリスト表示されます。このインジケーターは、[DQ Repository] (DQリポジトリー)ツリービューからエディターにリストされたカラムにドラッグ&ドロップするだけで、分析済みカラムに対して使用できます。
ユーザー定義インジケーターのJavaアーカイブを作成
- Big Data Platform
- Cloud API Services Platform
- Cloud Big Data Platform
- Cloud Data Fabric
- Cloud Data Management Platform
- Data Fabric
- Data Management Platform
- Data Services Platform
- MDM Platform
- Qlik Talend Cloud Enterprise Edition
- Qlik Talend Cloud Premium Edition
- Real-Time Big Data Platform
Before you begin
Procedure
-
ターゲットプラットフォームを定義します。
- Eclipseで、[Preferences] (環境設定)を選択して[Preferences] (環境設定)ウィンドウを表示します。
- [Plug-in Development] (プラグイン開発)を展開して[Target Platform] (ターゲットプラットフォーム)を選択し、[Add...] (追加...)をクリックしてターゲット定義を作成するためのビューを開きます。
- [Nothing: Start with an empty target definition] (なし: 空のターゲット定義で始める)オプションを選択し、[Next] (次へ)をクリックします。
- [Name] (名前)フィールドに新しいターゲット定義の名前を入力し、[Next] (次へ)をクリックします。
- [Add Content] (コンテンツを追加)リストから[Installation] (インストール)を選択し、[Next] (次へ)をクリックします。
-
[Browse...] (参照...)ボタンを使ってインストールディレクトリーのパスを設定し、[Next] (次へ)をクリックします。
場所のリストに新しいターゲット定義が表示されます。
- [Finish] (終了)をクリックしてダイアログボックスを閉じます。
-
ユーザー定義インジケーターのJavaアーカイブを作成
-
Eclipseでは、project from Git (英語のみ)をご覧ください。
このJavaプロジェクトには、インジケーターエディターの[Indicator Category] (インジケーターカテゴリー)ビューにリスト表示されたインジケーターカテゴリーに対応する4つのJavaクラスがあります。
どのJavaクラスもUserDefIndicatorImplインジケーターを拡張します。下の図は、MyAvgLength Javaクラスを使った例を示したものです。
package test.udi; import org.talend.dataquality.indicators.sql.impl.UserDefIndicatorImpl; /** * @author mzhao * * A very simple example of a java implementation of a user defined indicator. This indicator returns a user defined * real value. It implements the minimum number of required methods. */ public class MyAvgLength extends UserDefIndicatorImpl { private double length = 0; @Override public boolean reset() { super.reset(); length = 0; return true; } @Override public boolean handle(Object data) { super.handle(data); // an indicator which computes the average text length on data which are more than 2 characters (this means that // text values with less than 2 characters are not taken into account). int dataLength = (data != null) ? data.toString().length() : 0; if (dataLength > 2) { length += dataLength; } return true; } /* * (non-Javadoc) * * @see org.talend.dataquality.indicators.impl.IndicatorImpl#finalizeComputation() */ @Override public boolean finalizeComputation() { value = String.valueOf(this.length / (this.getCount() - this.getNullCount())); return super.finalizeComputation(); } }
- 必要に応じて、各@Overrideに続くメソッドのコードを編集してください。
- Optional:
次のメソッドをコードで使い、インジケーターのパラメーターを取得します。
メソッド 説明 ndicatorParameters IndicatorParametersオブジェクトを返します omain ドメインオブジェクトを返します JavaUDIIndicatorParameter パラメーターを定義するキー/値の各ペアを保存するJavaUDIIndicatorParameterのリストを返します。 - 変更を保存します。
- Eclipseを使用してこの新しいJavaアーカイブをエクスポートします。
-
Eclipseでは、project from Git (英語のみ)をご覧ください。
Results
以上で、Profilingパースペクティブで作成するどのJavaインジケーターにもJavaアーカイブを添付できるようになります。