

# AWS Glue Streaming
<a name="streaming-chapter"></a>

AWS Glue のコンポーネントである AWS Glue Streaming を使用すると、ストリーミングデータをほぼリアルタイムで効率的に処理できるようになり、データインジェスト、処理、機械学習などの重要なタスクを実行できるようになります。AWS Glue Streaming は、Apache Spark Streaming フレームワークを使用して、ストリーミングデータを大規模に処理できるサーバーレスサービスを提供します。AWS Glue は、サーバーレスインフラストラクチャ、自動スケーリング、ビジュアルジョブ開発、ストリーミングジョブの瞬時オンノートブック、その他のパフォーマンスの向上など、Apache Spark 上でさまざまな最適化を提供します。

## ストリーミングのユースケース
<a name="streaming-use-cases"></a>

AWS Glue Streaming の一般的なユースケースには以下が含まれます。

**ほぼリアルタイムのデータ処理**: AWS Glue Streaming により、組織はストリーミングデータをほぼリアルタイムで処理できるため、最新の情報に基づいて洞察を導き出し、タイムリーな意思決定を行うことができます。

**不正検出**: AWS Glue Streaming はストリーミングデータのリアルタイム分析に利用できるため、クレジットカード詐欺、ネットワーク侵入、オンライン詐欺などの不正行為の検出に役立ちます。受信データを継続的に処理して分析することで、疑わしいパターンや異常を迅速に特定できます。

**ソーシャルメディア分析**: AWS Glue Streaming では、ツイート、投稿、コメントなどのソーシャルメディアデータをリアルタイムで処理できるため、組織はトレンドの監視、感情分析、ブランドの評判の管理をリアルタイムで行うことができます。

**モノのインターネット (IoT) 分析**: AWS Glue Streaming は、IoT デバイス、センサー、接続された機械によって生成される高速データストリームの処理と分析に適しています。これにより、リアルタイムの監視、異常検知、予知保全、およびその他の IoT 分析のユースケースが可能になります。

**クリックストリーム分析**: AWS Glue Streaming では、ウェブサイトやモバイルアプリケーションからのリアルタイムのクリックストリームデータを処理して分析できます。これにより、企業はユーザーの行動に関する洞察を得たり、ユーザー体験をパーソナライズしたり、リアルタイムのクリックストリームデータに基づいてマーケティングキャンペーンを最適化したりすることができます。

**ログの監視と分析**: AWS Glue Streaming では、サーバー、アプリケーション、ネットワークデバイスからのログデータをリアルタイムで継続的に処理および分析できます。これは、異常の検出、問題のトラブルシューティング、システムの状態とパフォーマンスの監視に役立ちます。

**レコメンデーションシステム**: AWS Glue Streaming では、ユーザーアクティビティデータをリアルタイムで処理し、レコメンデーションモデルを動的に更新できます。これにより、ユーザーの行動や好みに基づいた、パーソナライズされたリアルタイムのレコメンデーションが可能になります。

これらは、AWS Glue Streaming を適用できるさまざまなユースケースの例です。AWS エコシステムやマネージドサービスとの統合により、クラウドでのリアルタイムのストリーム処理や分析を便利に行えるようになります。

## AWS Glue Streaming を使用することの利点は何ですか。
<a name="streaming-benefits"></a>

AWS Glue Streaming を使用する利点は以下のとおりです。
+ **サーバーレス**: AWS Glue Streaming はサーバーレスなので、インフラストラクチャを管理する必要がありません。これにより、運用上のオーバーヘッドが軽減され、ユーザーは、インフラストラクチャ管理ではなくデータ処理および分析タスクに集中できます。
+ **自動スケーリング**: AWS Glue Streaming には自動スケーリング機能があり、ワークロードに基づいて処理能力を動的に調整します。データ量の変動に合わせて自動的にスケールアウトまたはスケールインを行い、最適なパフォーマンスとリソース使用率を確保します。
+ **ビジュアル開発**: ストリーミングジョブの開発は複雑な場合があります。AWS GlueStreaming は、ビジュアルオーサリングツールである AWS Glue Studio を提供することで、この課題を解決します。AWS GlueStudio を使用すると、ストリーミングワークフローの作成プロセスが簡略化され、開発者がストリーミングアプリケーションを視覚的に設計および管理できるようになるため、習得時間が短縮され、生産性が向上します。
+ **費用対効果**: AWS Glue Streaming はサーバーレスサービスであり、インフラストラクチャのプロビジョニングや保守が不要になるため、コスト効率が向上します。ユーザーへの請求は、ストリーミングジョブの実行中に消費されたリソースに基づいて行われるため、実際の使用量に基づくコストの最適化とスケーリングが可能になります。
+ **複雑なワークロードの処理**: AWS Glue Streaming は複雑なストリーミングワークロードを処理するように設計されています。大量のリアルタイムデータの処理と分析、高度な変換のサポート、他の AWS サービスとの統合が可能なため、高度なストリーミングデータパイプラインおよび分析ワークフローが可能になります。
+ **ロックインなし**: AWS Glue Streaming には柔軟性があり、ベンダーロックインを回避できます。ユーザーは AWS Glue Streaming を広範な AWS エコシステムの一部として活用し、他の AWS サービスとシームレスに統合できます。これにより、特定のテクノロジーやプラットフォームに縛られることなく、既存のデータソース、アプリケーション、サービスと簡単に統合できます。

## AWS Glue Streaming はどのようなときに使うべきですか。
<a name="streaming-when-to-use"></a>

ストリーミングのユースケースに関して言えば、多くの選択肢があります。AWS Glue Streaming は以下のシナリオで推奨されます。

1. **既に AWS Glue または Spark をバッチ処理に使用している場合は**、AWS Glue Streaming が理想的な選択肢です。新しい言語やフレームワークを学習しなくても、ストリーミングジョブの構築にシームレスに移行できます。AWS Glue Streaming を利用すると、既存の知識とインフラストラクチャを活用してジョブ開発プロセスを簡素化し、データ処理機能をリアルタイムのストリーミングシナリオに簡単に拡張できます。

1. **バッチ、ストリーミング、およびイベント駆動型ワークロードを処理する統合サービスまたは製品が必要な場合は**、AWS Glue Streaming が最適なソリューションです。AWS Glue Streaming を利用すれば、データ処理のニーズを 1 つのフレームワークに統合できるため、複数のシステムを管理する複雑さがなくなります。これにより、さまざまなワークロードタイプ間での一貫性と互換性を確保しながら、多様なデータワークフローを効率的に開発および保守できます。

1. **AWS Glue Streaming は、ストリーミングデータ量が非常に多く、ストリームやリレーショナルデータベース間の結合などの複雑な変換を伴うシナリオに適しています**。大量のデータストリームを効率的に処理して分析できるため、要求の厳しいワークロードにも簡単に取り組むことができます。高速なデータインジェストでも、複雑なデータ操作でも、AWS Glue Streaming のスケーラビリティと高度な処理機能により、最適なパフォーマンスと正確な結果が得られます。

1. **ストリーミングジョブの構築に視覚的なアプローチを希望する場合は**、AWS Glue が提供する、ストリーミングアプリケーションを視覚的に設計および管理できる AWS Glue Studio によって、開発プロセスを簡素化することができます。この直感的なインターフェイスにより、開発者はビジュアルインターフェイスを使用してストリーミングワークフローを作成、設定、監視できるため、習得時間が短縮され、生産性が向上します。

1. **AWS Glue Streaming は、10 秒を超える厳しい SLA (サービスレベル契約) が適用されるほぼリアルタイムのユースケースに最適です**。

1. **Apache Iceberg、Apache Hudi、または Delta Lake を使用してトランザクションデータレイクを構築する場合**、AWS Glue Streaming は、これらのオープンテーブル形式をネイティブにサポートします。このシームレスな統合により、これらのトランザクションデータレイクからストリーミングデータを直接処理できるようになり、データ整合性、完全性、互換性が確保されます。

1. **さまざまなデータターゲットのストリーミングデータを取り込む必要がある場合**: AWS Glue Streaming は、Amazon Redshift、Amazon RDS、Amazon Aurora、Oracle、SQL Server などのさまざまなデータターゲットにネイティブターゲットを提供します。

## サポートされているデータソース
<a name="streaming-data-sources"></a>

AWS Glue Streaming では、次のデータソースがサポートされています。
+ Amazon Kinesis
+ Amazon MSK (Managed Streaming for Apache Kafka)
+ セルフマネージド Apache Kafka

## サポートされるデータターゲット
<a name="streaming-data-targets"></a>

AWS Glue Streaming では、次のようなさまざまなデータターゲットがサポートされています。
+ AWS Glue データカタログがサポートするデータターゲット
+ Amazon S3
+ Amazon Redshift
+ MySQL
+ PostgreSQL
+ Oracle
+ Microsoft SQL Server
+ Snowflake
+ JDBC を使用して接続できるすべてのデータベース
+ Apache Iceberg、Delta、および Apache Hudi
+ AWS Glue Marketplace コネクタ