ETLリソースライブラリの基本的な使用法
1.メタデータ
1.メタデータの一般的な概念:「記述データ」または「データのデータ」。
ETLのメタデータ:ETLによって実行されるタスクを説明します。
Kettleにメタデータを保存する方法:
- リソースライブラリ:リソースライブラリには、ファイルリソースライブラリ、データベースリソースライブラリが含まれます。Kettle4.0以降、リソースライブラリタイプはプラグインによって拡張できます。
- XMLファイル:.ktr変換ファイルのXMLのルートノードは< transformation >である必要があります。kjbジョブXMLのルートノードは< job >です。
2.リソースライブラリ
リソースライブラリを使用せずに、ktrまたはkjbファイルとして直接保存できます。
2.1データリソースライブラリ
Kettleのメタデータをデータベースにシリアル化します。たとえば、R _TRANSFORMATIONテーブルは、Kettleトランスフォーメーションの名前、説明、およびその他の属性を保存します。Spoonでデータベースリソースライブラリを作成してアップグレードします。
2.2ファイルリソースライブラリ
ファイルに基づくカプセル化は、org.pentaho.di.repository.Repositoryインターフェイスを実装します。これは、Kettle4.0以降で追加されたタイプのリソースライブラリです。
2.3リソースライブラリの選択方法
データベースリソースライブラリのデメリット:
- コンバージョンやジョブの複数のバージョンを保存することはできません
- 作業の損失を防ぐために、データベースロックメカニズムに大きく依存します
- チーム開発を考慮しないと、開発者は自分で開発するために仕事をロックすることはできません
ファイルリソースライブラリのデメリット:
- オブジェクト間の関係(変換、ジョブ、データベース接続など)は処理が難しいため、削除や名前の変更などの操作はより面倒になります。
- バージョン履歴なし
- チーム開発が難しい
リソースライブラリを使用しない:ファイルバージョン制御にsvnを使用します。
3.ケトルリソースライブラリの使用
3.1ケトルデータリソースライブラリ
3.1.1データリソースライブラリの作成
データベースリポジトリを作成する
データソース接続を設定する
クリックしてテストすると、エラーが報告されます。
Driver class 'oracle.jdbc.driver.OracleDriver' could not be found, make sure the 'Oracle' driver (jar file) is installed. oracle.jdbc.driver.OracleDriver
Mysqlデータ接続にはこの問題はありません。Oracleデータベース接続では
ojdbc6.jar
、ETLディレクトリlib
ディレクトリにOracleのコピーアンドペーストが必要です。再起動後。
再起動後、[完了]をクリックします。
最後のステップは接続です。このライブラリはkettleの独立したリソースライブラリであるため、データベースは新しいデータベースを作成するのに最適です
admin
。アカウントのパスワードはデフォルトです。
データベースを見ると、いくつかのテーブルが作成されています。
3.1.2データリソースライブラリの切断、変更、削除など
3.1.3変換を追加し、保存してデータリソースライブラリにエクスポートします
変換を追加
保存:
Ctrl + S
見る
インポートとエクスポート
ルールを追加するかどうかを尋ねた後、NOをエクスポートできます。
3.2ケトルファイルリソースライブラリ
プロセスはデータリポジトリよりも単純であり、ほとんどの操作は類似しています。
それは直接行うことができ、ユーザーとパスワードはありません。
4.管理リソースライブラリ
ETL開発のいくつかの段階:開発、テスト、検証、およびリリース。
各段階に対応するリソースライブラリ:開発リソースライブラリ、テスト(確認)リソースライブラリ、リリースリソース。
さまざまな段階で前進する:
- 開発リソースライブラリからテストリソースライブラリへ:
1.1命名規則に注意してください
1.2競合を避けるために1人でリリース
1.3 2つの移植方法:切断と再接続、エクスポート/インポート- テスト(確認)リポジトリからリリースリポジトリへ:エクスポート/インポート
リソースライブラリを使用しないでください:SVNバージョン制御、テストタグ付け、リリースおよびビルドブランチ。
5.パラメータ化
パラメータ化の理由:リソースライブラリ間でジョブを移行する場合、各段階の環境が異なるため、ジョブで使用されるデータベース接続などのメタデータをハードコーディングすることはできません。
パラメータ化のいくつかの方法:
kettle.properties
ファイルはjavaのuser.homeディレクトリにあり、カスタムプロパティファイルはプロパティファイルの入力ステップで読み取られます。パラメータテーブルを使用します。
どのように私が知っているのJavaのuser.homeのディレクトリを、javaファイルの内容を作成するために、次のように入力します。
public class PrintUserHome {
public static void main(String[] args) {
System.out.println(System.getProperty("user.home"));
}
}
cmdで次のステートメントを実行します
javac PrintUserHome.java
java PrintUserHome
パラメータテーブルの構造:
Environment parameter_name parameter_value valid_from valid_to
Dev host_name localhost 2011-01-01 2099-01-01
Test host_name 192.168.12.10 2011-01-01 2013-05-01
Test host_name 192.168.12.11 2011-05-02 2099-01-01
意味:
- 環境:環境。例:開発開発環境、テストテスト環境。
- parameter_name:さまざまな環境に対応するパラメーター。例:host_namehost。
- parameter_value:さまざまな環境に対応するパラメーター値。
- valid_from:さまざまな環境に対応するパラメーターとパラメーター値の有効時間。
- valid_to:さまざまな環境に対応するパラメーターとパラメーター値の期限。