問題タブ [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.

0 投票する
1 に答える
1689 参照

java - 値を UTF-8 に変換する際の問題

名前の表示に関するレポートで問題が発生しています。私のアプリケーションでは、PHP、Perl、および BI Pentaho 用にさまざまなテクノロジを使用しています。

DBとしてMYSQLを使用しており、私のテーブルはCHARSET=utf8.

私のテーブルは、以下のように値が行に格納されていますが、これは間違っています

PHP と Perl は異なる組み込み関数を使用して、DB に保存されている上記の値を変換し、以下のように UI に表示されていますが、これは正しいです

pentaho を使用しているレポートに来て、レポートにデータを表示する前に、ETL を使用してデータを変換しています。上記のDBに保存された値を変換するために、以下のようにJavaステップでデータを変換しようとしています

しかし、値が正しく変換されていません。上記の 2 つの間違った値のうち、Row2 の値のみ正しく変換されていますが、最初のRow1は以下のように間違って変換されています。

たとえば、Row1の値がÁx—350に適切に変換されるように、値を適切に変換する方法を提案してください。

以下のような小さな Java プログラムを作成して、 ×-350文字列を×-350に変換しました。

上記のコードからの出力は次のとおりです

出力が表示された場合、文字列が間違っており、実際に期待される出力はÁx—350です。

エンコーディング/デコーディングスキームを確認するために、オンラインで文字列をテストし、文字列× x-350 でテストしたところ、出力は予想どおり×x-350で、これは正しいものでした。

したがって、これから、適切なエンコード/デコードスキームを使用しているにもかかわらず、Javaコードが適切に変換できない理由、不足しているもの、または私のアプローチが間違っている理由を指摘してください。

0 投票する
2 に答える
1360 参照

postgresql - Pentaho Spoon のテーブル入力ステップ内に記述された SQL クエリに csv フィールド値を割り当てる方法

私は Pentaho を初めて使用するので、私の質問は非常に初心者に聞こえるかもしれません。

CSV ファイル入力ステップとテーブル入力ステップを使用する変換を作成しました。私が従った手順:

  1. 最初に、変換プロパティにパラメーターを作成しました。パラメータbirthdateには、デフォルト値が設定されていません。

  2. テーブル入力ステップの postgresql クエリでこのパラメーターを次の方法で使用しました。

    /li>
  3. CSVファイル入力ステップを使用してCSVファイルを読み込んでいます。CSV ファイルにある生年月日の値を、変換で作成したパラメーターに割り当てるにはどうすればよいですか?

    (また)

  4. パラメータを使用せずに、テーブル入力ステップで使用される SQL クエリに CSV フィールド値を直接割り当てるプロセスを教えていただけますか?
0 投票する
0 に答える
811 参照

mysql - Pentaho Kettle (スプーン) - レコードの削除

ソース テーブルにレコードが存在するかどうかに基づいて、ターゲット テーブルのレコードを削除しようとしています。「削除」ステップを使用してみましたが、このステップが条件節に基づいていることに気付きました。

私の条件は、「レコード/行がテーブル A [ソース] に存在しない場合、テーブル B [ターゲット] からレコード/行を削除する」という非常に単純なものです。

「Merge Rows (diff)」ステップの使用についても読みましたが、それはテーブルのセット全体をスキャン/比較して違いを見つけているようです。

テーブルは、MySQL サーバー上の数百の列を持つ数百万のレコードです。これを最も効率的な方法で実行する必要があります。

どんな助けでも大歓迎です。

0 投票する
1 に答える
1213 参照

pentaho - ETL ファイルの読み込み: 今日作成されたファイル、またはまだ読み込まれていないファイル?

新しいデータ ファイルをデータベースにロードするプロセスを自動化する必要があります。私の質問は、自動化された方法でどのファイルが「新しい」かを判断する最良の方法についてです。

ファイルは毎晩同期されるディレクトリから取得されるため、ファイルのリストは増え続けます。既に取得したファイルを消去するオプションはありません。

新しいレコードは、各レコードが作成されたファイル名を示すフィールドを持つ生データ テーブルに保存されるため、現在ディレクトリにあるすべてのファイル名を生データ テーブルに既にあるファイル名と比較し、含まれていないファイル名のみを処理できます。一般。

または、ファイル名に含まれるタイムスタンプを使用して、最後にインポート プロセスを実行した後に作成されたファイルのみを処理することもできます。

エラーが発生しにくいと思われるため、最初のアプローチを使用することに傾いていますが、これが実際に真実であるかどうかを見つけるのはあまり運がありませんでした. すべてのファイル名をデータベースに既に存在するファイル名と比較して、この方法で新しいファイルを決定することの落とし穴は何ですか?

0 投票する
2 に答える
6813 参照

javascript - If ステートメントで値をインクリメントする

これが私がやろうとしていることです:

私はデータを持っています。このデータは構造化されていないので、何とかできるように見栄えを良くしようとしています。

「住所」という欄があります。アドレス列の値が「ADDRESS」の場合、値が 1 の場合にカウントを実行します。「ADDRESS」以外の場合は、カウントをインクリメントします。

現在の動作: 値「ADDRESS」が表示された場合、カウンターの値は 1 になり、値が「ADDRESS」でない場合はインクリメントされますが、値自体はリセットされません。何事もなかったかのように進みます。

私のコード:

上記のコード以外に機能しなかったこと: 配列を作成し、それに値 1 を割り当ててみました。「アドレス」列の値が「ADDRESS」の場合、配列は値 1 に戻ります。そうしないと、配列の値が増加します。これは、数値が異なるだけで、上記と同じ効果がありました。

私が間違っていることを理解するのを手伝ってください、ありがとう。

0 投票する
1 に答える
2839 参照

pentaho - ペンタホ スプーン OK、ペンタホ キッチン ERROR

現在、Pentaho Spoon 5.4.0.1-130 でかなり大きなジョブを実行していますが、残念ながら、Pentaho Kitchen で同じジョブを実行しようとするとエラーが発生し続けます。

何が起こっているのかわからないので、助けていただければ幸いです。

御時間ありがとうございます!