データスループットアクセラレータ は何をしますか?
大量のデータを移動、変換、保存する際にボトルネックとなっている場合にこのスキルを使用してください。目標は単なる速度ではありません。目標は、正しいデータを証拠付きで適切な場所により速く着地させることです。
最初の区別
最適化の前に、以下を分離してください:
- ソース抽出速度
- ネットワーク転送速度
- ウェアハウス/ロード速度
- 変換速度
- サービングテーブルの新鮮さ
- ジョブ実行中のライブテールの増加
パイプラインが「高速」であっても、最終的なキャッチアップウィンドウよりも新しいデータが速く到着すると、遅れているように見える場合があります。
高速パスのヒューリスティック
- コンピューティングをデータが既にある場所に移動します。
- 大規模なランディングファイルには、ウェアハウスネイティブのスキャン、結合、アペンドを優先します。
- マニフェストまたはチェックポイントを使用して、完了したファイル/パーティションをスキップします。
- 読み取りとアペンドのパターンに一致するパーティショニングとクラスタリングを使用します。
- 小さなファイル、リクエスト、書き込みをバッチ処理します。
- 一意のキー、マニフェスト、または置き換え可能なステージングを通じて、書き込みを冪等にします。
- 生データ、派生データ、サービングテーブルを個別に管理可能な状態に保ちます。
ワークフロー
- 現在のソース、ターゲット、マニフェストの契約を読み取ります。
- バックログを測定します:外部ファイル、マニフェスト行、生データ行、派生行、最小/最大タイムスタンプ、未処理カウント。
- 安全なキャッチアップまたはサンプルベンチマークを実行します。
- バリアントを比較します:バッチサイズ、ワーカー数、ウェアハウスSQL、ファイルグループ化、ステージング形状、マニフェスト更新方法。
- カウントとタイムスタンプの一貫性を維持する最速のパスのみを採用します。
- そのパスをCLI、スケジュールジョブ、ワークフロー、またはRunbookとして体系化します。
- 体系化されたパスの実行後、最終的なアカウンティングを再実行します。
アカウンティング出力
ハードアカウンティングブロックを使用します:
データスループット結果:
- 発見されたソースファイル:294
- この実行で処理されたファイル:294
- 追加された生データ行:9,683,598
- 追加された派生行:8,917,585
- 残りのテール:読み戻し時点で24ファイル
- 実行時間:38.7秒
- 正当性ゲート:マニフェストカウントとテーブル最大タイムスタンプが一致
ガードレール
- メトリクスを良く見せるために生データを削除しないでください。
- 失敗したファイルを黙ってスキップしないでください。
- 過去のバックフィルステータスとライブテールの鮮度を混同しないでください。
- ターゲットテーブルとマニフェストが一致するまで、パイプラインを完了と見なさないでください。
- 金融、ヘルスケア、規制対象、または顧客に影響を与えるデータについては、リプレイ証拠と承認ゲートを保持してください。