Apache Spark 的 Amazon Redshift 整合 - Amazon Redshift

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

Apache Spark 的 Amazon Redshift 整合

Apache Spark 是一種分散式處理架構和程式設計模型,可協助您執行機器學習、串流處理或圖形分析。與 Apache Hadoop 類似,Spark 是一種開放原始碼、分散式處理系統,通常用於大數據的工作負載。Spark 具有最佳化的定向非循環圖形 (DAG) 執行引擎,並主動快取記憶體中的資料。這可以提高效能,對於某些算法和互動式查詢來說更是如此。

這項整合可為您提供 Spark 連接器,讓您用於建置在 Amazon Redshift 和 Amazon Redshift Serverless 中讀取和寫入資料的 Apache Spark 應用程式。這些應用程式不會影響應用程式效能或資料的交易一致性。此整合會自動包含在 Amazon EMR 和 中AWS Glue,因此您可以立即執行 Apache Spark 任務,以存取資料並將其載入 Amazon Redshift,作為資料擷取和轉換管道的一部分。

目前,您可以搭配這項整合使用 Spark 3.3.0、3.3.1、3.3.2 和 3.4.0 版。

這項整合會提供下列功能:

  • AWS Identity and Access Management (IAM) 身分驗證。如需詳細資訊,請參閱 Amazon Redshift 中的身分和存取管理

  • 述詞和查詢下推,以提升效能。

  • Amazon Redshift 資料類型。

  • 對 Amazon Redshift 和 Amazon Redshift Serverless 的連線。

使用 Spark 連接器時的考量和限制

  • 暫存器URI指向 Amazon S3 位置。此臨時目錄不會自動清理,因此可能會增加額外的費用。建議您使用《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 生命週期政策來定義 Amazon S3 儲存貯體的保留規則。

  • 依預設,如果 Amazon S3和 Redshift 叢集位於不同 AWS 區域,Amazon S3 和 Redshift 之間的複本將無法運作。若要使用個別 AWS 區域,請將 tempdir_region 參數設定為 所使用的 S3 儲存貯體區域tempdir

  • 如果使用 tempformat 參數寫入 Parquet 資料,則會在 S3 和 Redshift 之間進行跨區域寫入。

  • 建議您使用 Amazon S3 伺服器端加密來加密所用的 Amazon S3 儲存貯體。

  • 建議您封鎖對 Amazon S3 儲存貯體的公開存取

  • 建議您不要將 Amazon Redshift 叢集設為可公開存取。

  • 建議您開啟 Amazon Redshift 稽核記錄

  • 建議您開啟 Amazon Redshift 靜態加密

  • 建議您開啟 ,SSL以便JDBC從 Amazon 上的 Spark EMR連線至 Amazon Redshift。

  • 建議您使用 Amazon Redshift 身分驗證參數aws_iam_role的 參數傳遞IAM角色。