対象製品...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
Real-Time Big Data Platform
ユーザー定義インジケーターにJavaアーカイブを作成する前に、ワークスペースプラグインのコンパイルとテストの対象となるターゲットプラットフォームをEclipseで定義する必要があります。
始める前に
Profilingパースペクティブを選択済みであること。
手順
-
ターゲットプラットフォームを定義します。
-
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でhttps://github.com/Talend/tdq-studio-se/tree/master/sample/test.myudiにアクセスし、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
に続くメソッドのコードを編集してください。
- オプション:
次のメソッドをコードで使い、インジケーターのパラメーターを取得します。
メソッド |
説明 |
ndicatorParameters |
IndicatorParameters オブジェクトを返します |
omain |
ドメイン オブジェクトを返します |
JavaUDIIndicatorParameter |
パラメーターを定義するキー/値の各ペアを保存するJavaUDIIndicatorParameter のリストを返します。 |
-
変更を保存します。
-
Eclipseを使用してこの新しいJavaアーカイブをエクスポートします。
タスクの結果
以上で、Profilingパースペクティブで作成するどのJavaインジケーターにもJavaアーカイブを添付できるようになります。