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

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

前
次
機械翻訳について

Hive表の操作

Hiveの表には、データ処理ワークフローのデータが含まれています。

処理されると、各Hive表にBDDデータ・セットが作成され、そのデータ・セットにHive表のレコードが含まれます。 Hive表で処理するには、少なくとも1つのレコードが含まれている必要があることに注意してください。 つまり、データ処理では、空の表に対してデータ・セットは作成されません。

ワークフローの開始

データ処理ワークフローは、次の2つのいずれかの方法で開始できます:
  • Studioのユーザーが、新しいHive表を作成する操作を起動します。 Hive表が作成されると、Studioはその表でデータ処理プロセスを開始します。
  • DP CLI (コマンドライン・インタフェース)ユーティリティが実行されます。

DP CLIは、手動またはcronジョブから実行すると、BDD Hive表検出機能を呼び出しますが、これはDataSet Inventoryに存在しないHive表を見つけることができます。 次に、データ処理ワークフローが表で実行されます。 DP CLIの実行の詳細は、「DPコマンドライン・インタフェース・ユーティリティ」を参照してください。

新規Hive表ワークフローおよび図

StudioとDP CLIのどちらも、データ・エンリッチメント・モジュールを使用しないデータ処理ワークフローを起動するように構成できます。 次の上位ダイアグラムは、データ・エンリッチメント・モジュールが実行されるワークフローを示しています:

新規Hive表ワークフロー

ワークフローのステップは、次のとおりです:
  1. ワークフローは、StudioまたはDP CLIによって単一のHive表に対して開始されます。
  2. ジョブが開始され、ワークフローがSparkワーカーに割り当てられます。 データは、Hive表データ・ファイルからロードされます。 表の合計行数がカウントされ、サンプリングされたデータと主キーが追加されます。 StudioまたはDP CLI構成では、処理された(サンプリングされた)レコードの数が指定されます。
  3. ステップ2のデータはHDFSのAvroファイルに書き込まれます。 関連付けられているデータ・セットが存在する場合、このファイルはHDFSに残ります。
  4. データ・セット・スキーマとメタデータが検出されます。 これには、long、geocodeなど、各列のデータ型の検出が含まれます。 (DataSet Inventoryも検出されたメタデータで更新されます。 DataSet Inventoryが存在しない場合は、この時点で作成されます。)
  5. データ・エンリッチメント・モジュールが実行されます。 推奨エンリッチメントのリストは、検出プロセスの結果に基づいて生成されます。 データは、推奨エンリッチメントを使用してエンリッチされます。 実行中のエンリッチメントが構成で無効化されている場合、このステップはスキップされます。
  6. データ・セットは、ステップ4および5の設定を使用してDgraphに作成されます。 DataSet Inventoryも、新しいデータ・セットのメタデータを含めるように更新されます。
  7. データ・セットがプロビジョニングされ(HDFSファイルが収集用に書き込まれます)、DgraphのHDFSエージェントがHDFSファイルを取得するよう通知され、Dgraphにプルするためにバルク・ロード・インタフェースに送信されます。
  8. プロビジョニングの終了後、StudioによりDataSet InventoryのingestStatus属性がプロビジョニング(収集)操作の最終ステータスで更新されます。

更新されたHive表の処理

Hiveソース表が更新されても、既存のBDDデータ・セットは自動的に更新されません。 たとえば、特定のHive表からデータ・セットが作成されたとします。 Hive表が新しいデータで更新された場合、関連付けられているBDDデータ・セットは自動的に変更されません。 これは、現在BDDデータセットがそのHiveソース表と同期していないことを意味します。

更新したHive表からデータ・セットを更新するには、--refreshDataフラグまたは--incrementalUpdateフラグのいずれかを使用してDP CLIを実行する必要があります。 詳細は、「データ・セットの更新」を参照してください。

削除されたHive表の処理

関連するBDDデータ・セットがStudioから削除された場合でも、BDDはHive表を削除しません。 ただし、Hive管理者は、その表からBDDデータ・セットが作成されている場合でも、その表を削除できます。 この場合、BDDデータ・セットは自動的に削除されず、Studioに表示されます。 (Hiveソース表が削除されたデータ・セットは「孤立したデータ・セット」と呼ばれます。)

次回DP CLIが実行される際、孤立したデータ・セットが検出され、データ・セットを削除するデータ処理ジョブが実行されます。

空のHive表の処理

データ処理では、空のHive表は処理されません。 そのかわり、Sparkドライバは、空のHive表に対して実行しているときにEmptyHiveTableExceptionをスローします。 これにより、データ処理ジョブで表のデータ・セットが作成されなくなります。 コマンドは正常に終了したように表示される場合もありますが、データ・セットがないと、ジョブが最終的に失敗したことを意味します。

ヘッダー/フッター情報を使用して作成されたHive表の処理

データ処理では、ヘッダー/フッターの行を含むファイル(CSVファイルなど)に基づくHive表の処理はサポートされていません。 この場合、DPワークフローでは、skip.header.line.countおよびskip.footer.line.countプロパティを使用してHive表に設定されているヘッダーおよびフッターは無視されます。 そのような表のワークフローが成功すると、ヘッダー/フッターの行が省略されるのではなく、結果のBDDデータ・セットにレコードとして追加されます。

Studioプロジェクトの削除

Studioユーザーがプロジェクトを削除すると、データ処理が呼び出され、プロジェクトの変換済データ・セットが削除されます。 ただし、変換されていないデータ・セットは削除されません。