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./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实施。其他实现可以找到: