iceberg
Apache Iceberg 1.7.1
冰山是大型分析表的高性能格式。冰山將SQL表的可靠性和簡單性帶到大數據中,同時使Spark,Trino,Flink,Presto,Presto,Hive,Hive和Impala等發動機可以同時安全地使用相同的桌子。
背景和文檔可從https://iceberg.apache.org獲得
冰山在Apache軟件基金會正在積極開發。
冰山格式規範穩定,每個版本都添加了新功能。
核心Java庫位於此存儲庫中,是其他庫的參考實現。
文檔可用於所有庫和集成。
冰山在Github中跟踪問題,並且更喜歡作為拉的請求獲得貢獻。
社區討論主要發生在開發郵件列表或特定問題上。
冰山是使用Java 11、17或21的Gradle建造的。
./gradlew build build./gradlew build -x test -x integrationTest./gradlew spotlessApply./gradlew spotlessApply -DallModules冰山桌支持在圖書館模塊中組織:
iceberg-common包含其他模塊中使用的實用程序類iceberg-api包含公共冰山APIiceberg-core包含冰山API的實現和對AVRO數據文件的支持,這是處理引擎應取決於的iceberg-parquet是一個可選的模塊iceberg-arrow是一個可選的模塊iceberg-orc是一個可選的模塊,用於使用由ORC文件支持的表iceberg-hive-metastore是由蜂巢元托斯托爾節儉客戶支持的冰山桌的實現iceberg-data是一個可選的模塊,用於直接從JVM應用程序使用桌子冰山還設有用於在加工引擎中增加冰山支撐的模塊:
iceberg-spark是Spark的DataSource V2 API的冰山的實現iceberg-flink包含用於與Apache Flink集成的類iceberg-mr包含一個輸入Format和其他用於與Apache Hive集成的類筆記
測試要求Docker執行。在MacOS(帶Docker桌面)上,您可能需要為Docker套接字創建一個符號名稱才能通過測試檢測到:
sudo ln -s $HOME/.docker/run/docker.sock /var/run/docker.sock
請參閱多引擎支持頁面,以了解冰山與不同的火花,弗林克和蜂巢版本的兼容性。對於其他引擎(例如Presto或Trino),請訪問其網站以獲取冰山整合細節。
該存儲庫包含冰山的Java實施。其他實現可以找到: