収集用のレコードのインポート

Dgraph HDFSエージェントは、データ処理ワークフローからDgraphにデータを収集する上で重要な役割を果たします。

収集手順におけるDgraph HDFSエージェントの役割は、出力されたAvroファイルをデータ処理ワークフローから読み取り、これらを収集のためにフォーマットし、Dgraphに送信することです。

収集プロセスにおいて特に高いレベルの一般的な手順は、次のとおりです。
  1. Avroファイル内の一連のレコードを出力ディレクトリに書き込むことにより、データ処理ワークフローが終了します。
  2. 次に、Sparkクライアントが、データ・セット名に基づいて収集用のDgraphリーダー・ノードおよび一括ロード・ポートを特定します。レコードを収集するDgraphはリーダーである必要があります。そうでない場合、索引が読取り専用であるため、収集は即座に失敗します。
  3. Dgraph HDFSエージェントがAvroファイルを読み取り、一括ロード・インタフェースが受入れ可能なフォーマットでこれらのファイルを準備します。
  4. Dgraph HDFSエージェントは、一括ロード・ポートを介してファイルをDgraphに送信します。
  5. ジョブが正常に完了すると、初期データを保持しているファイルが削除されます。

データ・セットの収集は、ラウンドロビン方式の多重化アルゴリズムで行われます。Dgraph HDFSエージェントは、特定のデータ・セット内のレコードをバッチに分割します。各バッチが完全な収集として処理された後、次のバッチに進みます。複数のデータ・セットが処理されている場合、ラウンドロビン・アルゴリズムにより、各データ・セットからDgraphへのレコード・バッチの送信が交互に行われます。したがって、どの時点においてもDGraphによって処理されている収集操作は1つのみであるものの、多重化スキームにより、アクティブな収集操作をすべて公平な方法でスケジュールすることが可能になります。

データ処理によってnullまたは空の値がHDFS Avroファイルに書き込まれる場合、Dgraph HDFSエージェントは、ソース・データから一括ロード・レコードを作成するときにこれらの値をスキップします。