Apache Iceberg

From Wikipedia the free encyclopedia

Apache Iceberg
Original author(s)Ryan Blue, Daniel Weeks
Initial release10 August 2017; 7 years ago (10 August 2017)
Written inJava, Python
Operating systemCross-platform
TypeData warehouse, Data lake
LicenseApache License 2.0
Website

Apache Iceberg is an open-source high-performance format for huge analytic tables. Iceberg enables the use of SQL tables for big data while making it possible for engines like Spark, Trino, Flink, Presto, Hive, Impala, StarRocks, Doris, and Pig to safely work with the same tables, at the same time.[1] Iceberg is released under the Apache License.[2] Iceberg addresses the performance and usability challenges of using Apache Hive tables in large and demanding data lake environments.[3] Vendors currently supporting Apache Iceberg tables in their products include Buster,[4] CelerData, Cloudera, Crunchy Data,[5] Dremio, IOMETE, Snowflake, Starburst, Tabular,[6] and AWS.[7]

History

[edit]

Iceberg was started at Netflix by Ryan Blue and Dan Weeks. Hive was used by many different services and engines in the Netflix infrastructure. Hive was never able to guarantee correctness and did not provide stable atomic transactions.[3] Many at Netflix avoided using these services and making changes to the data to avert unintended consequences from the Hive format.[3] Ryan Blue set out to address three issues that faced the Hive table by creating Iceberg:[3] [8]

  1. Ensure the correctness of the data and support ACID transactions.
  2. Improve performance by enabling finer-grained operations to be done at the file granularity for optimal writes.
  3. Simplify and abstract general operation and maintenance of tables.

Iceberg development started in 2017.[9] The project was open-sourced and donated to the Apache Software Foundation in November 2018.[10] In May 2020, the Iceberg project graduated to become a top-level Apache project.[10]

Iceberg is used by multiple companies including Airbnb,[11] Apple,[3] Expedia,[12] LinkedIn,[13] Adobe,[14] Lyft, and many more.[15]

See also

[edit]

References

[edit]
  1. ^ "Apache Iceberg". iceberg.apache.org. Retrieved 5 October 2022.
  2. ^ "apache/iceberg GitHub License". The Apache Software Foundation. 5 October 2022. Retrieved 5 October 2022.
  3. ^ a b c d e Woodie, Alex (8 February 2021). "Apache Iceberg: The Hub of an Emerging Data Service Ecosystem?". Datanami. Archived from the original on 4 September 2024. Retrieved 5 October 2022.
  4. ^ "Buster".
  5. ^ Woodie, Alex (24 July 2024). "Crunchy Data Goes All-in With Postgres". The Big Data Wire.
  6. ^ "Vendors". iceberg.apache.org. Retrieved 2023-05-05.
  7. ^ "Using Apache Iceberg tables – Amazon Athena". Amazon Web Services, Inc. Archived from the original on 2024-09-04. Retrieved 2023-06-16.
  8. ^ "Iceberg at Netflix and Beyond with Ryan Blue, EPISODE 1654 Transcript". Software Engineering Daily. 7 March 2024. Retrieved 10 November 2024.
  9. ^ "Initial public release in apache/iceberg". GitHub. Archived from the original on 4 September 2024. Retrieved 5 October 2022.
  10. ^ a b "Incubation Status Template - Apache Incubator". incubator.apache.org. Archived from the original on 2022-10-05. Retrieved 2022-10-05.
  11. ^ Zhu, Ronnie (26 September 2022). "Upgrading Data Warehouse Infrastructure at Airbnb". The Airbnb Tech Blog.
  12. ^ Mathiesen, Christine (26 January 2021). "A Short Introduction to Apache Iceberg". Expedia Group Technology. Archived from the original on 5 October 2022. Retrieved 5 October 2022.
  13. ^ "FastIngest: Low-latency Gobblin with Apache Iceberg and ORC format". engineering.linkedin.com. Archived from the original on 2024-09-04. Retrieved 2022-10-05.
  14. ^ Bremner, Jaemi (3 December 2020). "Iceberg at Adobe". Medium. Archived from the original on 4 September 2024. Retrieved 5 October 2022.
  15. ^ Council, Data. "Open Source Highlight: Apache Iceberg". www.datacouncil.ai. Archived from the original on 5 October 2022. Retrieved 5 October 2022.