ETLリソースライブラリの基本的な使用法

1.メタデータ

1.メタデータの一般的な概念:「記述データ」または「データのデータ」。

ETLのメタデータ:ETLによって実行されるタスクを説明します。

Kettleにメタデータを保存する方法:

  1. リソースライブラリ:リソースライブラリには、ファイルリソースライブラリ、データベースリソースライブラリが含まれます。Kettle4.0以降、リソースライブラリタイプはプラグインによって拡張できます。
  2. 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リソースライブラリの選択方法

データベースリソースライブラリのデメリット

  1. コンバージョンやジョブの複数のバージョンを保存することはできません
  2. 作業の損失を防ぐために、データベースロックメカニズムに大きく依存します
  3. チーム開発を考慮しないと、開発者は自分で開発するために仕事をロックすることはできません

ファイルリソースライブラリのデメリット

  1. オブジェクト間の関係(変換、ジョブ、データベース接続など)は処理が難しいため、削除や名前の変更などの操作はより面倒になります。
  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命名規則に注意してください
    1.2競合を避けるために1人でリリース
    1.3 2つの移植方法:切断と再接続、エクスポート/インポート
  2. テスト(確認)リポジトリからリリースリポジトリへ:エクスポート/インポート

リソースライブラリを使用しないでください:SVNバージョン制御、テストタグ付け、リリースおよびビルドブランチ。

5.パラメータ化

パラメータ化の理由:リソースライブラリ間でジョブを移行する場合、各段階の環境が異なるため、ジョブで使用されるデータベース接続などのメタデータをハードコーディングすることはできません。

パラメータ化のいくつかの方法kettle.propertiesファイルはjavauser.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

意味

  1. 環境:環境。例:開発開発環境、テストテスト環境。
  2. parameter_name:さまざまな環境に対応するパラメーター。例:host_namehost
  3. parameter_value:さまざまな環境に対応するパラメーター値。
  4. valid_from:さまざまな環境に対応するパラメーターとパラメーター値の有効時間。
  5. valid_to:さまざまな環境に対応するパラメーターとパラメーター値の期限。

おすすめ

転載: blog.csdn.net/YKenan/article/details/112406203