データ パイプライン
要件
REST API を使用してデータのエクスポートをトリガーするには、次が必要です。
- 有効な Confluence Data Center ライセンス
- システム管理者グローバル権限
Considerations
開始する前に、多数のセキュリティとパフォーマンスへの影響を考慮する必要があります。
セキュリティ
セキュリティと機密性に基づいてデータを除外する必要がある場合は、データをエクスポートした後に行う必要があります。
エクスポートされたファイルは共有ホーム ディレクトリに保存されるため、このファイルが適切に保護されていることも確認できます。
パフォーマンスの影響
エクスポートのスケジュールを設定するときは、次のことをお勧めします。
fromDate
パラメーターを使用してエクスポートするデータの量を制限します。日付が古すぎるとより多くのデータがエクスポートされるため、データのエクスポートに要する時間が長くなります。- エクスポート中にパフォーマンスの低下が見られる場合は、アクティビティが少ない時間帯またはアクティビティのないノードでエクスポートをスケジュールします。
数値 | おおよそのエクスポート時間 | |
---|---|---|
ユーザー | 100,000 | 8 分 |
スペース | 15,000 | 12 分 |
ページ | 2500 万 | 12 時間 |
コメント | 1500 万 | 1 時間 |
アナリティクス イベント | 2000 万 | 2 時間 |
総エクスポート時間は約 16 時間でした。
テスト パフォーマンス対本番環境の比較
ここで紹介するデータは、当社独自の内部回帰テストに基づいています。お客様の環境におけるデータ エクスポートの実際の時間と影響は、インフラストラクチャ、構成、負荷によって異なります。
テストは、AWS の単一ノード Data Center インスタンスで実施されました。
- EC2 インスタンス タイプ:
c5.4xlarge
- RDS インスタンス タイプ:
db.m5.4xlarge
データ エクスポートの実行
/export
REST API エンドポイントを使用します。
https://<base-url>/rest/datapipeline/latest/export?
fromDate=<yyyy-MM-ddTHH:mmTZD>
fromDate
パラメーターはエクスポートするデータの量を制限します。つまり fromDate
値の後に作成または更新されたエンティティのデータのみがエクスポートされます。
fromDate
パラメーターなしでエクスポートをトリガーすると、直近の 365 日内のすべてのデータがエクスポートされます。
アプリケーションが、/jira
や /confluence
などのコンテキスト パスを使用するように設定されている場合は、これを必ず <base-url>
に含めます。
/export
REST API エンドポイントには、次の 3 つのメソッドがあります。
自動キャンセル
CANCELLED
と自動でマークされます。ただし、クラッシュまたはハードウェア レベルの障害が発生して JVM に通知されなかった場合、エクスポート プロセスはロックされることがあります。この場合、DELETE
リクエストを通じてエクスポートを CANCELLED としてマークする必要があります。これによって、プロセスがロックから解放されて別のデータ エクスポートを実行できます。
データ エクスポートの設定
次のシステム プロパティを使用して、エクスポート データの形式を設定できます。
既定値 | 説明 |
---|---|
plugin.data.pipeline.embedded.line.break.preserve | |
false | 埋め込まれた改行を出力ファイルに保持するかどうかを指定します。Hadoop などのツールでは、改行が問題になる場合があります。 このプロパティはデフォルトで |
plugin.data.pipeline.embedded.line.break.escape.char | |
\\n | 埋め込まれた改行の文字をエスケープします。デフォルトでは、 |
エクスポートのステータスを確認する
アプリケーションの管理コンソールから、エクスポートのステータスを表示して最後にエクスポートを実行した日時を確認できます。データ エクスポートのステータスを表示するには、 > [データ パイプライン] の順に移動します。 [一般設定]
- 開始前 - エクスポートは現在実行されていません
- 開始 - エクスポートは現在実行中です
- 完了 - エクスポートが完了しました
- リクエストをキャンセル - キャンセル リクエストが送信されました
- キャンセル - エクスポートがキャンセルされました
- 失敗 - エクスポートに失敗しました。
失敗したエクスポートまたはキャンセルされたエクスポートの解決については、「データ パイプラインのトラブルシューティング」をご参照ください。
出力ファイル
データ エクスポートを実行するたびに、数値ジョブ ID をタスクに割り当てます (最初のデータ エクスポートに対して 1 から開始)。このジョブ ID は、エクスポートされたデータを含むファイルのファイル名と場所で使用されます。
エクスポートされたファイルの場所
エクスポートされたデータは個別の CSV ファイルとして保存されます。ファイルは次のディレクトリに保存されます。
- Confluence をクラスタで実行している場合は
<shared-home>/data-pipeline/export/<job-id>
<local-home>/data-pipeline/export/<job-id>
クラスタ化されていない Confluence を使用している
<job-id>
ディレクトリ内には次のファイルが表示されます。
users_job<job_id>_<timestamp>.csv
spaces_job<job_id>_<timestamp>.csv
pages_job<job_id>_<timestamp>.csv
comments_job<job_id>_<timestamp>.csv
analytics_events_job<job_id>_<timestamp>.csv
これらのファイルでデータをロードして変換するには、そのスキーマを理解する必要があります。「データ パイプライン エクスポート スキーマ」をご参照ください。
Spark と Hadoop のインポート設定の例
既存の Spark インスタンスまたは Hadoop インスタンスがある場合は、次の参照を使用してさらに変換するためにデータをインポートする方法を設定します。