

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

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

AWS Glue 串流是 的元件 AWS Glue，可讓您近乎即時地有效率地處理串流資料，讓您能夠執行關鍵任務，例如資料擷取、處理和機器學習。使用 Apache Spark 串流架構， AWS Glue 串流提供無伺服器服務，可大規模處理串流資料。 AWS Glue 提供 Apache Spark 上的各種最佳化，例如無伺服器基礎設施、自動擴展、視覺化任務開發、串流任務的即時筆記本，以及其他效能改善。

## 串流使用案例
<a name="streaming-use-cases"></a>

 AWS Glue 串流的一些常見使用案例包括：

**Near-real-time的資料處理**： AWS Glue 串流可讓組織近乎即時地處理串流資料，讓他們能夠衍生洞見，並根據最新資訊及時做出決策。

**詐騙偵測**：您可以使用 Streaming AWS Glue 進行串流資料的即時分析，這對於偵測信用卡詐騙、網路入侵或線上詐騙等詐騙活動很有價值。持續處理和分析傳入的資料，可讓您快速找出可疑的模式或異常情況。

**社交媒體分析**： AWS Glue 串流可以處理即時社交媒體資料，例如推文、文章或評論，讓組織能夠即時監控趨勢、情緒分析和管理品牌評價。

**物聯網 (IoT) 分析**： AWS Glue 串流適用於處理和分析 IoT 裝置、感應器和連線機器所產生的高速資料串流。可進行即時監控、異常偵測、預測性維護和其他 IoT 分析使用案例。

**Clickstream 分析**： AWS Glue 串流可以處理和分析來自網站或行動應用程式的即時 clickstream 資料。這可協助企業深入了解使用者行為、打造個人化使用者體驗，並根據即時點擊流資料將行銷活動最佳化。

**日誌監控和分析**： AWS Glue 串流可以持續即時處理和分析來自伺服器、應用程式或網路裝置的日誌資料。這有助於偵測異常、疑難排解問題，以及監控系統運作狀態和效能。

**建議系統**： AWS Glue 串流可以即時處理使用者活動資料，並動態更新建議模型。這可讓系統根據使用者的行為和偏好即時提供個人化的建議。

這些是可套用 AWS Glue 串流的各種使用案例範例。其與 AWS 生態系統和受管服務的整合，使其成為雲端中即時串流處理和分析的便利選擇。

## 使用 AWS Glue 串流有哪些好處？
<a name="streaming-benefits"></a>

使用 AWS Glue 串流的優點如下：
+ **無伺服器**： AWS Glue 串流是無伺服器，無需管理基礎設施。此設計可減少營運成本，讓使用者專注於資料處理和分析工作，無須分神管理基礎設施。
+ **Autoscaling**： AWS Glue Streaming 提供自動擴展功能，可根據工作負載動態調整處理容量。此功能會自動擴展或縮減以應付資料量的波動，確保最佳效能和資源使用率。
+ **視覺化開發**：串流任務開發可能很複雜。 AWS Glue 串流提供視覺化撰寫工具 AWS Glue Studio，解決這項挑戰。 AWS Glue Studio 簡化了建立串流工作流程的程序，並可讓開發人員以視覺化方式設計和管理串流應用程式，進而降低學習曲線並提高生產力。
+ **符合成本效益**：串流是無伺服器服務，無需佈建和維護基礎設施，即可 AWS Glue 提供成本效益。系統會根據執行串流任務期間所耗用的資源向使用者計費，以便根據實際使用情況進行成本最佳化和擴展。
+ **處理複雜的工作負載**： AWS Glue 串流旨在處理複雜的串流工作負載。它可以處理和分析大量即時資料、支援進階轉換，並與其他 AWS 服務整合，從而實現複雜的串流資料管道和分析工作流程。
+ **無鎖定**： AWS Glue 串流可提供彈性，並避免廠商鎖定。使用者可以利用 AWS Glue 串流作為更廣泛的 AWS 生態系統的一部分，將其與其他 AWS 服務無縫整合。這樣可以輕鬆地與現有的資料來源、應用程式和服務整合，而無須與特定技術或平台綁定在一起。

## 何時使用 AWS Glue 串流？
<a name="streaming-when-to-use"></a>

說到串流使用案例，您可以有很多選擇。我們建議在下列情況下 AWS Glue 進行串流。

1. **如果您已經使用 AWS Glue 或 Spark 進行批次處理**， AWS Glue 串流是您的理想選擇。它可讓您順利轉換至建置串流任務，而無須學習新的語言或框架。 AWS Glue 串流利用您現有的知識和基礎設施，簡化了任務開發程序，並可讓您輕鬆地將資料處理功能擴展到即時串流案例。

1. **如果您需要統一的服務或產品來處理批次、串流和事件驅動工作負載**， AWS Glue 串流是您的解決方案。使用 AWS Glue 串流，您可以將資料處理需求合併為單一架構，消除管理多個系統的複雜性。這樣可讓您有效地開發和維護各種資料工作流程，同時確保不同工作負載類型的一致性和相容性。

1. **AWS Glue 串流非常適合涉及極大型串流資料磁碟區和複雜轉換的案例**，例如串流或關聯式資料庫之間的聯結。它可以有效地處理和分析大量資料串流，讓您能夠輕鬆處理高需求的工作負載。無論是高速資料擷取還是複雜的資料處理， AWS Glue 串流的可擴展性和進階處理功能都能確保最佳效能和準確的結果。

1. **如果您偏好視覺化方法來建置串流任務**， AWS Glue 則提供 AWS Glue Studio，可讓您以視覺化方式設計和管理串流應用程式，簡化開發程序。此工具的直覺式介面可讓開發人員使用視覺化介面來建立、設定和監控串流工作流程，進而減少學習曲線並提高生產力。

1. 如果**AWS Glue 嚴格的 SLAs （服務水準協議） 大於 10 秒，則串流是near-real-time的使用案例的絕佳選擇**。

1. **如果您使用 Apache Iceberg、Apache Hudi 或 Delta Lake 建置交易資料湖**， AWS Glue 串流會提供這些開放資料表格式的原生支援。這種無縫整合可讓您直接從這些交易資料湖處理串流資料，以確保資料的一致性、完整性和相容性。

1. **需要擷取各種資料目標的串流資料時**： AWS Glue 串流會將原生目標提供給各種資料目標，例如 Amazon Redshift、Amazon RDS、Amazon Aurora、Oracle、SQL Server 和其他目標。

## 支援的資料來源
<a name="streaming-data-sources"></a>

AWS Glue 串流支援下列資料來源：
+ Amazon Kinesis
+ Amazon MSK (Managed Streaming for Apache Kafka)
+ 自我管理的 Apache Kafka

## 支援的資料目標
<a name="streaming-data-targets"></a>

AWS Glue 串流支援各種資料目標，例如：
+ Data Catalog 支援 AWS Glue 的資料目標
+ Amazon S3
+ Amazon Redshift
+ MySQL
+ PostgreSQL
+ Oracle
+ Microsoft SQL Server
+ Snowflake
+ 任何可使用 JDBC 連接的資料庫
+ Apache Iceberg、Delta 和 Apache Hudi
+ AWS Glue Marketplace 連接器