跳至主要內容

什麼是 Apache Iceberg?

Apache Iceberg 是一種分散式、社群驅動的 Apache 2.0 授權、100% 開放原始碼資料表格格式,有助於簡化儲存在資料湖中的大型資料集上的資料集的資料處理。資料工程師使用 Apache Iceberg,因為它在任何規模上都快速、高效且可靠,並記錄資料集隨時間變化的情況。阿帕奇冰山可以輕鬆地與流行的數據處理框架,例如阿帕奇斯帕克,阿帕奇弗林克,阿帕奇 Hive,普雷斯托等等。

什麼是交易式資料湖?

資料湖個集中式儲存庫,可讓您以任何規模儲存所有結構化和非結構化資料。資料交易是在單一操作中進行的一系列資料交換。例如,當客戶從銀行帳戶取款時,銀行在一次資料交易中同時進行多次資料交換,包括驗證帳戶有足夠的餘額,驗證身分,以及從帳戶中扣除取款。交易式資料湖是一種不僅能大規模存放資料,還支援交易作業,同時確保資料準確、一致,並可讓您追蹤資料和資料結構隨時間變化情況的資料湖。這些屬性統稱為原子性、一致性、隔離性和耐久性(ACID):

  • Atomicity 保證每筆交易都是一個成功或完全失敗的單一事件;沒有半程狀態。

  • 一致性確保所有寫入的資料資料都是根據資料湖的定義規則有效,確保資料準確且可靠。

  • 隔離可確保可以同時發生多個交易,而不會互相干擾,確保每個交易都獨立執行。

  • 可持續性意味著一旦提交交易後,數據不會丟失或損壞。在系統故障(例如停電)時,可以恢復數據。

使用 Apache Iceberg 有哪些優勢?

針對交易式資料湖使用 Apache Iceberg 的一些主要優勢包括:

  • 熟悉 SQL:結構化查詢語言 (SQL) 是一種常用於所有類型的應用程式的查詢語言。因為它能夠與不同的程式設計語言很好地整合,資料分析師和開發人員都在學習並使用 SQL,而且它在其語句中使用常見的英文關鍵字,因此也很容易學習。Apache Iceberg 允許任何熟悉結構化查詢語言 (SQL) 的人建立資料湖並執行大多數資料湖作業,而無需學習新語言。

  • 資料一致性:Apache Iceberg 提供資料一致性,以確保讀取和寫入資料的任何使用者都能看到相同的資料。

  • 資料結構:Apache Iceberg 可讓您輕鬆變更資料結構 (也稱為結構描述演進),這意味著使用者能夠在不中斷基礎資料的情況下,從資料表中新增、重新命名或移除資料欄。

  • 資料版本控制:Apache Iceberg 提供資料版本控制的支援,讓使用者可以加時追蹤資料的變更。這可啟用時間旅行功能,允許使用者存取和查詢資料的歷史版本,並分析更新和刪除之間對資料的變更。

  • 跨平台支援:Apache 冰山支援各種不同的儲存系統和查詢引擎,包括 Apache Spark、Apache Hive 和 Presto。這使得 Iceberg 可以輕鬆地在各種不同的資料處理環境中使用。

  • 增量處理:Iceberg 支援增量處理,允許使用者只處理自上次執行以來已變更的資料,也稱為 CDC (變更資料擷取)。這可以幫助提高資料處理效率和效能。

Apache Iceberg 的常見使用案例有哪些?

Apache iceberg 適用於許多資料湖使用案例,包括:

  • 資料湖中需要經常刪除的資料表,例如在強制執行資料隱私權法律時。

  • 資料湖中需要記錄層級更新的資料表。若當您的資料集在資料結算之後需要頻繁更新,例如銷售資料可能因日後的事件 (例如客戶退貨) 而變更時,此功能非常有用。Iceberg 提供更新個別記錄的功能,而無需重新發佈整個資料集。

  • 資料湖中具有不可預測變更的資料表格,例如「慢慢變更維度 (SCD) 表格」。SCD 的範例是客戶記錄表,其中包含名稱、位置和聯絡資訊,這些資訊可能會隨著時間不明的間隔而變更。

  • 當與資料湖進行的交易需要保證資料有效性、耐久性和可靠性時,可以部署 Apache Iceberg 資料表格式以確保 ACID 交易。

  • 當需要及時回溯查詢歷史版本的資料以執行趨勢分析、分析一段時間內的資料變更,或還原或回復至先前的版本以修正問題時。

誰使用阿帕奇冰山?

數據工程師,數據管理員,數據分析師和數據科學家是使用 Apache Iceberg 的人物之一。  資料工程師和管理員可以使用 Apache Iceberg 來設計和建置可擴展的資料儲存系統。  資料分析師和資料科學家可以使用 Apache Iceberg 有效地分析大型資料集。

為什麼要選擇 Apache Iceberg?

Apache Iceberg 提供了一種快速、有效的方法來大規模處理大型數據集。它帶來以下好處:

  1. 開源:Apache Iceberg 是一個開源項目,這意味著它可以免費使用,並可以自定義以滿足您的特定需求。它還擁有一個積極的開發人員社區,他們不斷改進並為項目添加新功能。

  2. 可擴展性:Apache Iceberg 旨在有效地處理大型資料集。它可以在多個節點上分割和組織數據,從而有助於分配工作負載並加快數據處理速度。

  3. 效能:Apache Iceberg 具有多種功能來最佳化查詢效能,包括欄式儲存和壓縮技術,例如言語推向下和結構描述進化。

  4. 靈活性:Apache Iceberg 可讓您變更資料的組織方式,讓資料隨著時間的推移而不需要重寫查詢或重建資料結構。它還支持多種數據格式和數據源,從而使其易於與現有系統集成。

  5. 可靠性:Apache Iceberg 通過對交易的支持確保數據一致性和可靠性。您可以追蹤資料隨著時間的推移的變化,並恢復到歷史版本,以協助您更正問題。

支援 Iceberg 的 AWS 服務有哪些?

阿帕奇冰山支持流行的數據處理框架,例如阿帕奇斯帕克,阿帕奇弗林克,阿帕奇蜂窩和普雷斯托。AWS 服務,例如亞馬遜 Redshift、亞馬遜雅典娜、亞馬遜 EMR AWS Glu e 和亞馬遜資料防火管等,包括對於的原生交易數據湖框架,包括 Apache 冰山。Apache Iceberg 與支援的 AWS 服務結合,可實現交易式資料湖,通常以 S3 儲存為基礎。

  • Amazon Redshift 是一項全受管、AI 支援的 SQL 分析和資料倉儲服務,可以快速且具有成本效益的推動客戶的業務決策。Amazon Redshift 提供大規模平行處理 (MPP)、多叢集和無伺服器架構,同時提供零 ETL 功能,可藉助資料共用來推動近即時的分析和 AI/ML 使用案例。客戶可以使用 Amazon Redshift 查詢資料湖中的 Apache Iceberg 表格,透過 AWS Glue 資料目錄存取,並將其與資料倉儲中的資料表加入,以進行全面的分析。

  • Amazon Athena 是一項無伺服器的互動式分析服務,建立在開源架構上,支援開放表格式和檔案格式。Athena 提供簡化、靈活的方式來分析其所在位置的數 PB 資料。Athena 為 Apache Iceberg 表格提供讀取、時間旅行、寫入和 DDL 查詢的原生支援,這些資料使用 Apache Parquet 格式,以及 AWS Glue 目錄作其轉移程式。

  • Amazon EMR 是一種大數據解決方案,用於使用 Apache Spark、Hadoop、Presto 和 Hive 等開放原始碼架構,用於 PB 規模資料處理、互動式分析和機器學習。從 Amazon EMR 6.5.0 開始,您可以使用 Apache Spark 3 on Amazon EMR 叢集與 Iceberg 資料表格式。包括斯帕克,特里諾,弗林克和 Hive 等 EMR 框架支持阿帕奇冰山。

  • AWS Glue 是一種無伺服器資料整合服務,可讓您更輕鬆地探索、準備、移動和整合來自多個來源的資料,以進行分析、機器學習 (ML) 和應用程式開發。  AWS Glue 3.0 及更新版本支援適用於資料湖的 Apache Iceberg 架構。您可以使用 AWS Glue,在 Amazon S3 中的 Iceberg 資料表上執行讀取和寫入操作,或使用 AWS Glue Data Catalog 處理 Iceberg 資料表。還支持其他操作,包括插入,更新和所有 Spark 查詢,Spark 寫入。

  • Amazon Data Firehose 是一項完全受管的無伺服器服務,可將即時串流資料傳遞至目的地,如亞馬遜簡易儲存服務(亞馬遜 S3)、亞馬遜開放搜尋服務、亞馬遜開放搜尋無伺服器、Splunk、雪花、Apache 冰山表,以及受支援的第三方服務供應商所擁有的任何自定義 HTTP 端點或 HTTP 端點,包括資料記錄、Dynatrace、LogicMonitor、MongoDB、新 Corc 等阿洛吉克斯和彈性。使用 Amazon Data Firehose,就不需要撰寫應用程式或管理資源。您可以設定資料生產者將資料傳送到 Amazon Data Firehose,它會自動將資料交付到您指定的目的地。您也可以設定 Amazon 資料消防管,以在交付資料之前轉換。

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

載入中
載入中
載入中
載入中
載入中

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages