Apache Iceberg筆記1_DataLake三劍客之一
https://www.upsolver.com/blog/iceberg-partitioning 一般在業界實務如果有談論到關於DataLake數據湖,通常主流想到的 三劍客為:Hudi、Delta Lake和Iceberg https://www.kai-waehner.de/blog/2024/07/13/apache-iceberg-the-open-table-format-for-lakehouse-and-data-streaming/ 數據湖一詞觀念在之前準備 Data Literacy Fundamentals學習筆記 有稍微提及到。 目的在處理現代組織產生的大量數據,它們提供了一種經濟且高效的方式來儲存和管理大數據。數據湖建立在分散式檔案系統(distributed file systems)之上,例如Hadoop 分散式檔案系統(HDFS)或Amazon S3,可以處理大量數據並提供高可用性和高擴展性。 數據湖通常使用於: • 儲存原始數據供以後分析 • 執行大數據處理和分析 • 支持機器學習和人工智慧 • 儲存和處理即時串流數據 Apache Iceberg是 由netflex於2018年研發並開源貢獻給Apache基金會 ,為數據湖三劍客之一。 2018年11月16日進入Apache孵化器,於2020年5月19日從孵化器畢業,成為Apache的top專案。 主要用於大數據分析高性能 開放性表格形式(Table Format) 。 表格形式(Table Format)可以這樣解釋,metadata跟數據文件一種組織方式,處於計算引擎框架(Spark、Flink....)之下,數據文件之上。 在 數據儲存和計算引擎之間 的調配問題。原理類似Hive,但Hive依賴於HDFS檔案系統。換言之他可以跟很多常見到的資料庫或大數據生態系的工具兼容,比方Hive、Spark、Flink、Presto 、Impala等等,都可以去操作IceBerg的Table。 提供高表達性SQL 支持隱藏分區 具有完整模式演化 可以對表作快照(時間旅行、回滾) Netflex最初也是用Hive去處理海量資料,後來發覺不好用就自行研發IceBerg了。 Hive跟IceBerg其實都是在數據儲存之上和計算引擎之下,也都提供表格式存取。 Hive在之前此篇部落格...