シンプルなtalendジョブを使用してgreenplum HAWQでビューを作成したいのですが、基本的にすべてのビューを含むファイル入力があり、CREATE VIEWスクリプトを実行する必要があります。
これらのビュー (50 ~ 60.000) はオラクル システムからのものであるため、作成できなかったビューを見つける必要があります。
これが私の問題のモックアップです:
DB に既にビューがあり、さらに 3 回作成したいと考えています。これは明らかに失敗します。
出力は次のとおりです。
Exception in component tGreenplumRow_2
org.postgresql.util.PSQLException: ERROR: relation "ad_apps_dependencies" already exists
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
.--------------.
| tLogRow_4 |
|=------------=|
|componenterror|
|=------------=|
|componenterror|
'--------------'
.-----------------------------------------------------+-------------------------------------------------------------.
| tLogRow_5 |
|=----------------------------------------------------+------------------------------------------------------------=|
|result |result1 |
|=----------------------------------------------------+------------------------------------------------------------=|
|ERROR: relation "ad_apps_dependencies" already exists|CREATE VIEW SYSTEM.AD_APPS AS SELECT * FROM APPLSYS.AD_APPS|
'-----------------------------------------------------+-------------------------------------------------------------'
.------------.
| tLogRow_6 |
|=----------=|
|subjobError |
|=----------=|
|Subjob Error|
'------------'
クエリを 3 回実行しようとするため、この出力を 3 回表示したいと考えています。(最終バージョンでは、失敗したクエリのみを含む別のファイルを作成して、後で修正できるようにしますが、これは重要なポイントです。)
回避策として、この tRow -> OnError -> FixedFlow -> FailedViews の部分を別のジョブに移動できますが、それは洗練された解決策ではありません。