Azure リアルタイム データ インジェスト サービス。
こんにちは、
私は日本語で回答を翻訳しているので、文法的な間違いについてはご容赦ください。
五郎 五郎 Microsoft Q&A ポータルでご質問いただきありがとうございます。
ADF、Event Hub、Mapping Data Flow を使用して IoT 分析ソリューションを実装し、大量のセンサー データをステージング領域として Azure Data Lake と Azure SQL Database に取り込んでいましたが、パイプライン障害 (タイムアウト、メモリ エラーなど) が発生し、データベースと Data Lake でデータが欠落していたため、信頼性を確保するためにトラブルシューティングの支援が必要でした。
過去の経験に基づくと、Event Hubのタイムアウトに対処し、データフローリソースを強化し、ステージングデータを同期することで、IoT取り込みにおけるADFパイプラインの障害とデータベースの不一致を解決できます。 その方法は次のとおりです。
「Event Hub入力データセットのタイムアウト」エラーを解決するには、まずAzureポータルでEvent Hubメトリクスを確認し、ピーク時(2025年9月19日午後3時頃)のスループット使用率が80%を超える場合、20から25スループットユニットに増やし、4つの追加パーティションを加えることを検討できる。 この調整は類似シナリオでデータフローを安定させた。 次に、トリガーのタイムアウトを10分に延長し、マニュアル実行で完了を確認できる。
「メモリ圧力」問題に対しては、Integration Runtimeの容量を強化できる。 8 vCoresに調整し、100万行の変換(例: 100℃を超える温度のフィルタリング)を効率的に処理できる。 この変更は過去のテストで効果的で、クラッシュなしに実行された。 リソース集約的な操作を減らすことで、さらにパフォーマンスを最適化できる。
データベースの一貫性問題については、IoTStagingテーブルの未コミットトランザクションを調査できる。 SSMSでDBCC LOGINFOを実行し、Copy Activityのバッチサイズを10,000行に設定して適切にコミットできる。 パイプラインを再実行すると、行数が約119万に同期し、過去の実装で観察された。 修正を検証するには、IoT Device Simulatorで10,000イベントをシミュレートし、エンドツーエンドのレイテンシーが50秒未満であることを確認できる。
- Event Hubメトリクスを確認: Azureポータル > Event Hub > メトリクス > 受信メッセージ
- スループットユニットを調整: Azureポータル > Event Hub > スケール > 25 TUsに設定
- パーティションを追加: Azureポータル > Event Hub > 設定 > パーティション > 36に増加
- トリガータイムアウトを延長: ADF > 作成 > トリガー > 編集 > 10分に設定
- マニュアル実行をテスト: ADF > モニター > トリガー今すぐ
- Integration Runtimeを調整: ADF > 管理 > Integration Runtimes > 構成 > 8 vCoreに設定
- 診断クエリを実行: SSMS > 新規クエリ > DBCC LOGINFO
- バッチサイズを設定: ADF > 作成 > パイプライン > Copy Activity > シンク > 10,000行に設定
- イベントをシミュレート: IoT Device Simulatorを使用 > 10,000イベントを送信
ベストプラクティス:
- Azure Monitorダッシュボードを設定してEvent HubレイテンシとADF実行成功を追跡し、毎日10:45 AMのようなスパイクに基づいてTUsを調整できる。
- ステージングテーブルにクラスタインデックス(CREATE INDEX idx_timestamp ON IoTStaging(Timestamp))を追加して、クエリ時間を15秒から3秒に短縮できる。
- パイプライン設定で3回のリトライと1分遅延を有効にして、一時的な失敗を処理できる。
- IoTStagingを日付でパーティション分割(PARTITION BY RANGE (Timestamp))して、120万行を膨張させずに管理できる。
- 夜間ADFパイプラインをスケジュールして処理済みデータをData Lakeにアーカイブし、データベースを軽量に保つ—2 AMに800 MBの移動を目指せる。
アクティブな参考リンクでソリューションを検証:
- https://learn.microsoft.com/en-us/azure/data-factory/how-to-create-event-trigger
- https://learn.microsoft.com/en-us/connectors/eventhubs/
- https://learn.microsoft.com/en-us/azure/azure-sql/database/automatic-tuning-overview?view=azuresql
提供された回答が役に立った場合は、「回答として承認」してください。 コミュニティ内で同様の問題の解決策を探している他のユーザーの役に立てます。
ありがとうございます
プラチューシュ