

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 處理持續串流資料的串流任務
<a name="jobs-streaming"></a>

EMR Serverless 中的串流任務是一種任務模式，可讓您近乎即時地分析和處理串流資料。這些長時間執行的任務會輪詢串流資料，並在資料送達時持續處理結果。串流任務最適合需要即時資料處理的任務，例如近乎即時的分析、詐騙偵測和建議引擎。EMR Serverless 串流任務提供最佳化，例如內建任務彈性、即時監控、增強型日誌管理，以及與串流連接器的整合。

以下是串流任務的一些使用案例：
+ **近乎即時的分析** – Amazon EMR Serverless 中的串流任務可讓您近乎即時地處理串流資料，因此您可以對連續資料串流執行即時分析，例如日誌資料、感應器資料或點擊串流資料，以衍生洞見並根據最新資訊及時做出決策。
+ **詐騙偵測** – 當您分析資料串流並識別可疑模式或異常時，使用串流任務在金融交易、信用卡操作或線上活動中執行近乎即時的詐騙偵測。
+ **建議引擎** – 串流任務可以處理使用者活動資料和更新建議模型。這樣做會根據行為和偏好開啟個人化和即時建議的可能性。
+ **社交媒體分析** – 串流任務可以處理社交媒體資料，例如推文、評論和文章，讓組織可以近乎即時地監控趨勢、情緒分析和管理品牌評價。
+ **物聯網 (IoT) 分析** – 串流任務可以處理和分析來自 IoT 裝置、感應器和連線機器的高速資料串流，因此請執行異常偵測、預測性維護和其他 IoT 分析使用案例。
+ **Clickstream 分析** – 串流任務可以處理和分析來自網站或行動應用程式的 Clickstream 資料。使用這類資料的企業可以執行分析，以進一步了解使用者行為、個人化使用者體驗，以及最佳化行銷活動。
+ **日誌監控和分析** – 串流任務也可以處理來自伺服器、應用程式和網路裝置的日誌資料。這可為您提供異常偵測、故障診斷，以及系統運作狀態和效能。

**主要優點**

EMR Serverless 中的串流任務會自動提供*任務彈性*，這是下列因素的組合：
+ **自動重試** – EMR Serverless 會自動重試失敗的任何任務，而無需您進行任何手動輸入。
+ **可用區域 (AZ) 彈性** – 如果原始可用區域遇到問題，EMR Serverless 會自動將串流任務切換到運作狀態良好的可用區域。
+ **日誌管理：**
  + **日誌輪換** – 為了更有效率的磁碟儲存管理，EMR Serverless 會定期輪換長時間串流任務的日誌。這樣做可以防止可能耗用所有磁碟空間的日誌累積。
  + **日誌壓縮** – 可協助您在受管持久性中有效率地管理和最佳化日誌檔案。壓縮也會改善您使用受管 Spark 歷史記錄伺服器的偵錯體驗。

**支援的資料來源和資料接收器**

EMR Serverless 可與多個輸入資料來源和輸出資料接收器搭配使用：
+ 支援的輸入資料來源 – Amazon Kinesis Data Streams、Amazon Managed Streaming for Apache Kafka 和自我管理 Apache Kafka 叢集。根據預設，Amazon EMR 7.1.0 版和更新版本包含 [Amazon Kinesis Data Streams 連接器](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-structured-streaming-kinesis.html)，因此您不需要建置或下載任何其他套件。
+ 支援的輸出資料接收器 – AWS Glue Data Catalog 資料表、Amazon S3、Amazon Redshift、MySQL、PostgreSQL Oracle、Oracle、Microsoft SQL、Apache Iceberg、Delta Lake 和 Apache Hudi。

## 考量和限制
<a name="jobs-spark-streaming-considerations"></a>

當您使用串流任務時，請記住下列考量和限制。
+ [Amazon EMR 7.1.0 版及更高版本](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-710-release.html)支援串流任務。
+ EMR Serverless 預期串流任務會長時間執行，因此您無法設定執行逾時來限制任務的執行時間。
+ 串流任務僅與 Spark 引擎相容，該引擎以[結構化串流架構](https://spark.apache.org/streaming/)為基礎。
+ EMR Serverless 會無限期重試串流任務，您無法自訂最大嘗試次數。如果失敗的嘗試次數超過每小時時段設定的閾值，則會自動包含防限流功能以停止任務重試。預設閾值是在一小時內嘗試失敗 5 次。您可以將此閾值設定為 1 到 10 次嘗試。如需詳細資訊，請參閱 [任務彈性](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/SECTION-jobs-resiliency.xml.html)。
+ 串流任務具有檢查點來儲存執行時間狀態和進度，因此 EMR Serverless 可以從最新的檢查點繼續串流任務。如需詳細資訊，請參閱 Apache Spark 文件中的[使用檢查點從失敗中復原](https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#recovering-from-failures-with-checkpointing)。