プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Serviceデータ処理ガイド

E65369-05
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

増分更新

増分更新では、新しいレコードがソースHive表のプロジェクト・データ・セットに追加されます。

DP CLIの--incrementalUpdateフラグ(-incrementalと省略されています)では、新規レコードおよび変更されたレコードの追加を選択することにより、プロジェクト・データ・セットの部分的な更新が実行されます。 データ・セットは完全なデータ・セット(サンプル・データ・セットではない)であり、増分更新用に構成されているプロジェクト・データ・セットである必要があります。

増分更新操作では、ソースHive表のレコードのサブセットをフェッチします。 サブセットは、レコードを保持するHive表の列とフェッチするレコードの値を指定するフィルタリング述語を使用して決定されます。 サブセット・バッチのレコードは次のように収集されます:
  • レコードが新規である(データ・セットに存在しない)場合、そのレコードはデータ・セットに追加されます。
  • データ・セットにすでにレコードが存在するが、内容が変更された場合は、データ・セット内のレコードが置換されます。

レコードがすでに存在するか新規であるかは、レコード識別子によって決まります。

スキーマ変更および検索の無効化

リフレッシュ更新とは異なり、増分更新には次の制限があります:
  • 増分更新ではデータ・セットのスキーマ変更はできません。 つまり、データ・セット内の属性は削除も追加もされません。
  • 増分更新では--disableSearchフラグは使用できません。 つまり、データ・セットの検索可能性は変更できません。

増分更新時の変換スクリプト

データ・セットに関連付けられた変換スクリプトがある場合、スクリプトは新しいレコードに対して実行され、変換ステップが適用される場合はそれらのレコードを変換できます。 データ・セット内の既存のレコードは影響されません。

レコード識別子構成

データ・セットに対して増分更新を実行する前に、増分更新用にデータ・セットを構成する必要があります。 この手順は、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)

エラー・メッセージでは、キュレートされたデータセットという用語は、増分更新用に構成されているデータ・セットを意味します。 このエラーが発生した場合は、増分更新用のデータ・セットを構成し、増分更新操作を再実行します。