増分更新では、新しいレコードがソースHive表のプロジェクト・データ・セットに追加されます。
DP CLIの--incrementalUpdateフラグ(-incrementalと省略されています)では、新規レコードおよび変更されたレコードの追加を選択することにより、プロジェクト・データ・セットの部分的な更新が実行されます。 データ・セットは完全なデータ・セット(サンプル・データ・セットではない)であり、増分更新用に構成されているプロジェクト・データ・セットである必要があります。
レコードがすでに存在するか新規であるかは、レコード識別子によって決まります。
スキーマ変更および検索の無効化
増分更新時の変換スクリプト
データ・セットに関連付けられた変換スクリプトがある場合、スクリプトは新しいレコードに対して実行され、変換ステップが適用される場合はそれらのレコードを変換できます。 データ・セット内の既存のレコードは影響されません。
レコード識別子構成
データ・セットに対して増分更新を実行する前に、増分更新用にデータ・セットを構成する必要があります。 この手順は、Studioの ページから実行する必要があります。
データ・セットは、Hive表のレコードとプロジェクト・データ・セットのレコードの間のデルタを決定するためのレコード識別子で構成する必要があります。 Hive表で列が追加または削除されている場合は、リフレッシュ更新を実行して、これらの列の変更をデータ・セットに組み込む必要があります。
レコードを一意に識別する属性を選択するときは、一意性のスコアが100%である必要があります。 レコード識別子が100%一意でない場合、データ処理ワークフローは失敗し、例外が返されます。 この例では、「キーの一意性」フィールドは100%の数値を示しています:
データ・セットが構成された後、「データ・セット・マネージャ」ページ内のエントリは次の例のようになります:
「レコード識別子」フィールドには、「更新用の構成」ダイアログで選択した属性がリストされます。
更新用の構成の手順は、「Studioユーザー・ガイド」に記載されています。
構成されていないデータ・セットでエラーが発生しました
... data_processing_CLI finished with state ERROR Exception in thread "main" com.oracle.endeca.pdi.client.EdpExecutionException: Only curated datasets can be updated. at com.oracle.endeca.pdi.client.EdpGeneralClient.invokeIncrementalUpdate(EdpGeneralClient.java:232) at com.oracle.endeca.pdi.EdpCli.runEdp(EdpCli.java:814) at com.oracle.endeca.pdi.EdpCli.processIncrementalUpdate(EdpCli.java:572) at com.oracle.endeca.pdi.EdpCli.commandLineArgumentLogic(EdpCli.java:316) at com.oracle.endeca.pdi.EdpCli.main(EdpCli.java:927)
エラー・メッセージでは、キュレートされたデータセットという用語は、増分更新用に構成されているデータ・セットを意味します。 このエラーが発生した場合は、増分更新用のデータ・セットを構成し、増分更新操作を再実行します。