問題タブ [pentaho-data-integration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pentaho - Pentaho Data Integration 動的接続 (データベースからの接続の読み取り)
Pentaho データ統合: CE 6.1.0.1-196
私は Pentaho データ統合の初心者です。複数のデータベースで同じクエリを実行する必要があります。参照する必要がある他のデータベースからの接続情報を格納するために、master データベースにテーブルを作成しました。テーブル構造の下。
サンプルデータ
私の .ktr ファイル:
(set_variables.ktr)
テーブル入力 ---> 行を結果にコピー
master データベースで実行される入力テーブルに関連付けられたクエリ。
(db_query.ktr)
テーブル入力 ---> テーブル出力
テーブル入力に関連付けられたクエリは o (複数のデータベース) を実行し、データをテーブル出力 (マスター データベース) に格納します。
私の .kjb ファイル:
(run_for_each_row.kjb)
開始 ---> 変換 ---> 成功
変換ファイル名: ${Internal.Job.Filename.Directory}/db_query.ktr
ジョブのプロパティ パラメータ:
DATABASE_NAME JDBC_URL パスワード ユーザー名
(master_job.kjb)
開始 ---> 変換 ---> 各行のジョブ ---> 成功
変換ファイル名: ${Internal.Job.Filename.Directory}/set_variables.ktr
各行ファイル名のジョブ: ${Internal.Job.Filename.Directory}/run_for_each_row.kjb
行ごとにジョブを実行 ... 詳細タブ 前の結果をパラメーターにコピー -> チェック 入力行ごとに実行 -> チェック
各行のジョブ... パラメータ: DATABASE_NAME、JDBC_URL、PASSWORD、USERNAME
実行ログ:
database_connection テーブルからのデータが読み取られています
しかし、これらのデータがパラメーターとして渡されないために何が間違っているのかわかりません。
この問題の数日前にすでに停止しているので、助けていただければ幸いです。
ここのstackoverflowとpentahoフォーラムで見つけた例は、あまり役に立ちませんでした。
プロジェクト ファイル ( https://github.com/scarlosantos/pdi )
ありがとうございました
php - Pentaho:- PHP で .kjb ファイルを実行する方法
以下の要件があります。
1 つの PHP ページを作成し、PHP ページから Pentaho .kjb ファイルを実行したいと考えています。RUN ボタンをクリックすると、PHP が Pentaho を呼び出し、.kjb ファイルが実行されます。
誰かがこれを達成する方法を案内できますか?
garbage-collection - ペンタホ | GC オーバーヘッドの制限を超えました
xlsxファイルからテーブルにデータを挿入したい。Excel には約 1,20,000 のレコードがあります。しかし、変換の実行中に、以下のエラーが発生します:
GC オーバーヘッドの制限を超えました
で着替えましたspoon.bat
。
しかし、それでもこのエラーが発生します。
誰かがこれについて助けてくれますか?
mysql - Pentaho JNDI ssh トンネリング データ統合 MySQL
SSH トンネリングを使用してデータベース サーバーにアクセスしようとしています。資格情報は問題ありません。SSH トンネリング オプションを使用して MYSQL GUI クライアントでこれをテストしたので、コマンド ラインを使用してこれをテストしたところ、サーバーへのコマンド ライン接続も完全に機能しています。 2 つのコマンド ライン ターミナルで以下のコマンドを実行します。
- ssh root@192.168.1.1 -L 3307:localhost:3306
- mysql -h localhost -P 3307 -u qstats -pPassw0rd stats
しかし、ペンタホを使用してデータベースサーバーに接続しようとすると、エラーが発生します
ユーザー 'stats'@'localhost' のアクセスが拒否されました (パスワードを使用: YES)
次に、JNDIを使用して資格情報を提供しましたが、それでも機能しません。私の JNDI 設定は次のとおりです。
アスタリスク/type=javax.sql.DataSource
アスタリスク/driver=com.mysql.jdbc.Driver
アスタリスク/ユーザー=qstats
アスタリスク/パスワード=Passw0rd
アスタリスク/url=jdbc:mysql://localhost:3307/stats
誰か助けてください。
pentaho - PDI/Kettle: ファイルの作成またはマッピング (サブ変換) の実行を避ける
変換のすべてのステップが並行して実行され、Pentaho でこの動作を変更する方法がないことは明らかです。
そのため、特定のフィールド (ファイル名から読み取る) をチェックし、そのファイルを処理するタスク (マッピング - サブ変換) を決定するスイッチ タスクのシナリオがあります。これは、各マッピング タスクの前後に、DB レコードの更新、電子メールの送信などのボイラープレート タスクを実行する一般的なロジックの一部です。
問題は、「ACCC014」ファイルがない場合、この変換を実行できないことです。すべてのタスクが並行して実行されるため、それが不可能であることは理解しています。そのため、2 つ目の問題が発生します。いくつかのマッピング内で、XML ファイルが作成されます。また、Pentaho が空のデータでこのタスクを実行している場合でも、XML 出力ファイルの作成を回避する方法が見つかりません。
理論的にはシリアルなので、この切り替えロジックをジョブに移動することを考えましたが、この種の区別を行う条件付きステップは見つかりませんでした。
また、メタ データ インジェクション タスクも検討しましたが、それが進むべき道だとは考えていません。各サブトランスフォーメーションは、実際には異なる仕事をします。いくつかのテーブルを更新するものもあれば、ファイルを書き込むものもあれば、異なるデータベース間でデータを移動するものもあります。それらはすべて入力として何らかのファイルを受け取り、send_email フラグとメッセージ文字列を返します。他には何もありません。
私たちが望んでいることを行う方法はありますか?または、デフォルトの入力/出力に基づいてロジックの一部を再利用する方法はありませんか?
編集:ACCC014変換を追加。はい、「開始時にファイルを作成しない」オプションがチェックされています。
pentaho-data-integration - データ読み込みの pentaho パフォーマンスを改善したい
ソースからターゲットへのデータの毎日のロードを必要とする 400 万のレコードがあり、毎日切り捨てを行っています。毎日 400 万レコードのデータをロードするテーブルが 10 個ほどあるため、9 時間ほどかかります。パフォーマンスを向上させる方法を教えてください。ありがとう
pentaho - コンポーネントについて「注意」:「上げる」と「下げる」オプションの使い方
数週間前から Pentaho DI ETL を使用していますが、Talend DI ETL と同様に、コンポーネント「Note」を使用する可能性があります。これは、ジョブの主な機能を区別し、ジョブを開いたときに最初の概要でより多くの情報を表示するのに非常に役立ちます。
私の問題 :
キャンバスでメモを使用している場合、コンポーネントを右クリックするとコンテキスト メニューが開きます。私の問題は、「上げる」および「下げる」オプションを使用できないことです。誰かがこれらのオプションがどのように機能するかについて考えを持っているかもしれませんか?
前もって感謝します、
カプシュ