Four Stars

DBからデータ連携について

talend・postgre9.6を勉強中の初心者です。

初歩的な事をご質問しているかもしれませんが、ご教授の程、お願い致します。

 

talendでpostgreの各テーブルからデータを引っ張ってきています。

postgreで、各テーブルのデータを変更し保存した内容を、

talendで自動で反映させる方法はあるのでしょうか?

 

現在は、手動でtpostgresql内のスキーマ削除を行い、再度作り直しをしております。

 

4 REPLIES
Four Stars

Re: DBからデータ連携について

お世話になっております。

質問内容は以下の認識で正しいでしょうか?

①各テーブルからSQLで取得した結果をtMapで結合
②①で結合した結果をtPostgresqlOutputで指定したテーブルに出力
③各テーブルのデータが変更されるたび、②のテーブル内を手動で削除
④①へ戻る
※①、②はジョブ内での処理、③はジョブ外での処理


上記の③を自動(ジョブ内)で行いたいということであれば、
tPostgresqlOutputの基本設定にある「テーブルに対する操作」を
「テーブルが存在する場合、削除してから作成」、「テーブルのクリア」、「テーブル内の全行削除」
のうちのどれかに設定すれば、ジョブを実行するたびにテーブル内のデータをまっさらにしてから
データの挿入を行うようになると思います。

認識違いなどがありましたらご指摘ください。

Four Stars

Re: DBからデータ連携について

お世話になっております。

 

質問内容が不明確で申し訳ございませんでした。

 

今回の質問内容は、

・DB上の各テーブルの情報を取得後に、DB内で情報の変更等があった箇所をtPostgresqlInputで動的取得が出来るようにすることは可能でしょうか?

 

現在は、tPostgresqlInputのスキーマを手動修正して読み込み直しを行っております。

Four Stars

Re: DBからデータ連携について

お世話になっております。

テーブル内のデータが変更されただけであれば、現時点でもできていると思いますが、
今回の場合、以下のようにテーブルのスキーマ情報が変更されているようですので、
動的に情報を取得するのは難しいと思います…(知っている方がいたら教えてほしいです)

変更前
column1: char
column2: char

変更後
column1: char
column2: char
column3: char

DB接続のメタデータを作成していれば、「スキーマ情報の取得」から更新が可能ですが、
これを自動で行うことはできないと思います。

Moderator

Re: DBからデータ連携について

skhama さん

 

テーブル定義などの変更を自動取得して反映できないかという、ご質問と理解しました。残念ながら、これはTalendの機能でサポートされていません。どうしても、スキーマ情報を手動で更新して頂く必要があります。勿論、リポジトリへ登録されているメタデータ(スキーマ情報など)を更新した際に修正が必要となるジョブ等は、一覧が表示されます。

---
Have fun!