ストリーミングジョブ - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ストリーミングジョブ

EMR Serverless のストリーミングジョブは、ストリーミングデータをほぼリアルタイムで分析および処理できるジョブモードです。これらの長時間実行されるジョブは、ストリーミングデータをポーリングし、データが到着すると継続的に結果を処理します。ストリーミングジョブは、ほぼリアルタイムの分析、不正検出、レコメンデーションエンジンなど、リアルタイムのデータ処理を必要とするタスクに最適です。EMR サーバーレスストリーミングジョブは、組み込みジョブの耐障害性、リアルタイムモニタリング、拡張ログ管理、ストリーミングコネクタとの統合などの最適化を提供します。

ストリーミングジョブのユースケースは次のとおりです。

  • ほぼリアルタイムの分析 – Amazon EMR Serverless のストリーミングジョブでは、ストリーミングデータをほぼリアルタイムで処理できるため、ログデータ、センサーデータ、クリックストリームデータなどの継続的なデータストリームに対してリアルタイム分析を実行してインサイトを取得し、最新情報に基づいてタイムリーな意思決定を行うことができます。

  • 不正検出 — データストリームを分析し、疑わしいパターンや異常が発生したときに特定すると、ストリーミングジョブを使用して、金融取引、クレジットカードオペレーション、オンラインアクティビティでほぼリアルタイムの不正検出を実行できます。

  • レコメンデーションエンジン – ストリーミングジョブは、ユーザーアクティビティデータを処理してレコメンデーションモデルを更新できます。これにより、行動や好みに基づいてパーソナライズされたリアルタイムのレコメンデーションの可能性が広がります。

  • ソーシャルメディア分析 – ストリーミングジョブは、ツイート、コメント、投稿などのソーシャルメディアデータを処理できるため、組織は傾向をモニタリングし、感情分析を行い、ブランドの評価をほぼリアルタイムで管理できます。

  • モノのインターネット (IoT) 分析 – ストリーミングジョブは、IoT デバイス、センサー、コネクテッドマシンからの高速ストリームを処理および分析できるため、異常検出、予測メンテナンス、その他の IoT 分析のユースケースを実行できます。

  • クリックストリーム分析 – ストリーミングジョブは、ウェブサイトまたはモバイルアプリケーションからのクリックストリームデータを処理および分析できます。このようなデータを使用する企業は、分析を実行して、ユーザー行動の詳細を確認し、ユーザーエクスペリエンスをパーソナライズし、マーケティングキャンペーンを最適化できます。

  • ログのモニタリングと分析 — ストリーミングジョブは、サーバー、アプリケーション、ネットワークデバイスからのログデータを処理することもできます。これにより、異常の検出、トラブルシューティング、システムの状態とパフォーマンスが得られます。

主な利点

EMR Serverless のストリーミングジョブは、ジョブの耐障害性 を自動的に提供します。これは、次の要素の組み合わせです。

  • 自動再試行 – EMRサーバーレスは、失敗したジョブを自動的に再試行します。ユーザーからの手動入力は必要ありません。

  • アベイラビリティーゾーン (AZ) の回復性 – 元の AZ で問題が発生した場合、EMRサーバーレスはストリーミングジョブを正常な AZ に自動的に切り替えます。

  • ログ管理:

    • ログのローテーション — ディスクストレージの管理を効率化するために、EMRサーバーレスは長時間のストリーミングジョブのログを定期的にローテーションします。これにより、すべてのディスク領域を消費する可能性のあるログの蓄積を防ぐことができます。

    • ログ圧縮 — は、マネージド永続化でログファイルを効率的に管理および最適化するのに役立ちます。圧縮により、マネージド型Spark 履歴サーバーを使用する場合のデバッグエクスペリエンスも向上します。

サポートされているデータソースとデータシンク

EMR サーバーレスは、多数の入力データソースと出力データシンクで動作します。

  • サポートされている入力データソース – Amazon Kinesis Data Streams、Amazon Managed Streaming for Apache Kafka、およびセルフマネージド Apache Kafka クラスター。デフォルトでは、Amazon EMRリリース 7.1.0 以降には Amazon Kinesis Data Streams コネクタ が含まれているため、追加のパッケージを構築またはダウンロードする必要はありません。

  • サポートされている出力データシンク – AWS Glue Data Catalog Amazon S3、Amazon Redshift、My SQL、PostgreSQL Oracle、Oracle、Microsoft、Apache IcebergSQL、Delta Lake、および Apache Hudi。

考慮事項と制約事項

ストリーミングジョブを使用する場合は、以下の考慮事項と制限事項に注意してください。

  • ストリーミングジョブは、Amazon EMRリリース 7.1.0 以降の でサポートされています。

  • EMR サーバーレスはストリーミングジョブを長時間実行することを期待しているため、実行タイムアウトを設定してジョブのランタイムを制限することはできません。

  • ストリーミングジョブは、構造化されたストリーミングフレームワーク の上に構築された Spark エンジンとのみ互換性があります。

  • EMR サーバーレスはストリーミングジョブを無期限に再試行するため、最大試行回数をカスタマイズすることはできません。1 時間あたりの時間枠で失敗した試行回数がしきい値セットを超えた場合、スラッシュ防止が自動的に含まれ、ジョブの再試行が停止します。デフォルトのしきい値は、1 時間で 5 回の失敗です。このしきい値は、1 ~ 10 回の試行で設定できます。詳細については、「ジョブの耐障害性」を参照してください。

  • ストリーミングジョブにはランタイムの状態と進行状況を保存するためのチェックポイントがあるため、EMRサーバーレスは最新のチェックポイントからストリーミングジョブを再開できます。詳細については、Apache Spark ドキュメントの「チェックポイントによる障害からの回復」を参照してください。