7

シンプルな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 の部分を別のジョブに移動できますが、それは洗練された解決策ではありません。

4

1 に答える 1