Data Engineering Podcast

Improving The Performance Of Cloud-Native Big Data At Netflix Using The Iceberg Table Format with Ryan Blue - Episode 52


Listen Later

Summary

With the growth of the Hadoop ecosystem came a proliferation of implementations for the Hive table format. Unfortunately, with no formal specification, each project works slightly different which increases the difficulty of integration across systems. The Hive format is also built with the assumptions of a local filesystem which results in painful edge cases when leveraging cloud object storage for a data lake. In this episode Ryan Blue explains how his work on the Iceberg table format specification and reference implementation has allowed Netflix to improve the performance and simplify operations for their S3 data lake. This is a highly detailed and technical exploration of how a well-engineered metadata layer can improve the speed, accuracy, and utility of large scale, multi-tenant, cloud-native data platforms.

Preamble
  • Hello and welcome to the Data Engineering Podcast, the show about modern data management
  • When you’re ready to build your next pipeline you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to run a bullet-proof data platform. Go to dataengineeringpodcast.com/linode to get a $20 credit and launch a new server in under a minute.
  • Go to dataengineeringpodcast.com to subscribe to the show, sign up for the mailing list, read the show notes, and get in touch.
  • Join the community in the new Zulip chat workspace at dataengineeringpodcast.com/chat
  • Your host is Tobias Macey and today I’m interviewing Ryan Blue about Iceberg, a Netflix project to implement a high performance table format for batch workloads
  • Interview
    • Introduction
    • How did you get involved in the area of data management?
    • Can you start by explaining what Iceberg is and the motivation for creating it?
      • Was the project built with open-source in mind or was it necessary to refactor it from an internal project for public use?

      • How has the use of Iceberg simplified your work at Netflix?

      • How is the reference implementation architected and how has it evolved since you first began work on it?

        • What is involved in deploying it to a user’s environment?

        • For someone who is interested in using Iceberg within their own environments, what is involved in integrating it with their existing query engine?

          • Is there a migration path for pre-existing tables into the Iceberg format?

          • How is schema evolution managed at the file level?

            • How do you handle files on disk that don’t contain all of the fields specified in a table definition?

            • One of the complicated problems in data modeling is managing table partitions. How does Iceberg help in that regard?

            • What are the unique challenges posed by using S3 as the basis for a data lake?

              • What are the benefits that outweigh the difficulties?

              • What have been some of the most challenging or contentious details of the specification to define?

                • What are some things that you have explicitly left out of the specification?

                • What are your long-term goals for the Iceberg specification?

                  • Do you anticipate the reference implementation continuing to be used and maintained?

                  • Contact Info
                    • rdblue on GitHub
                    • LinkedIn
                    • Parting Question
                      • From your perspective, what is the biggest gap in the tooling or technology for data management today?
                      • Links
                        • Iceberg Reference Implementation
                        • Iceberg Table Specification
                        • Netflix
                        • Hadoop
                        • Cloudera
                        • Avro
                        • Parquet
                        • Spark
                        • S3
                        • HDFS
                        • Hive
                        • ORC
                        • S3mper
                        • Git
                        • Metacat
                        • Presto
                        • Pig
                        • DDL (Data Definition Language)
                        • Cost-Based Optimization
                        • The intro and outro music is from The Hug by The Freak Fandango Orchestra / CC BY-SA

                          Support Data Engineering Podcast

                          ...more
                          View all episodesView all episodes
                          Download on the App Store

                          Data Engineering PodcastBy Tobias Macey

                          • 4.6
                          • 4.6
                          • 4.6
                          • 4.6
                          • 4.6

                          4.6

                          135 ratings


                          More shows like Data Engineering Podcast

                          View all
                          Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

                          Software Engineering Radio - the podcast for professional software developers

                          272 Listeners

                          The Changelog: Software Development, Open Source by Changelog Media

                          The Changelog: Software Development, Open Source

                          283 Listeners

                          The Cloudcast by Massive Studios

                          The Cloudcast

                          153 Listeners

                          Thoughtworks Technology Podcast by Thoughtworks

                          Thoughtworks Technology Podcast

                          41 Listeners

                          Data Skeptic by Kyle Polich

                          Data Skeptic

                          483 Listeners

                          Talk Python To Me by Michael Kennedy

                          Talk Python To Me

                          592 Listeners

                          Software Engineering Daily by Software Engineering Daily

                          Software Engineering Daily

                          624 Listeners

                          The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence) by Sam Charrington

                          The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence)

                          444 Listeners

                          Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

                          Super Data Science: ML & AI Podcast with Jon Krohn

                          298 Listeners

                          Python Bytes by Michael Kennedy and Brian Okken

                          Python Bytes

                          213 Listeners

                          DataFramed by DataCamp

                          DataFramed

                          266 Listeners

                          Practical AI by Practical AI LLC

                          Practical AI

                          190 Listeners

                          The Stack Overflow Podcast by The Stack Overflow Podcast

                          The Stack Overflow Podcast

                          64 Listeners

                          The Real Python Podcast by Real Python

                          The Real Python Podcast

                          140 Listeners

                          Latent Space: The AI Engineer Podcast by swyx + Alessio

                          Latent Space: The AI Engineer Podcast

                          77 Listeners