Data Engineering Podcast

Maintaining Your Data Lake At Scale With Spark


Listen Later

Summary

Building and maintaining a data lake is a choose your own adventure of tools, services, and evolving best practices. The flexibility and freedom that data lakes provide allows for generating significant value, but it can also lead to anti-patterns and inconsistent quality in your analytics. Delta Lake is an open source, opinionated framework built on top of Spark for interacting with and maintaining data lake platforms that incorporates the lessons learned at DataBricks from countless customer use cases. In this episode Michael Armbrust, the lead architect of Delta Lake, explains how the project is designed, how you can use it for building a maintainable data lake, and some useful patterns for progressively refining the data in your lake. This conversation was useful for getting a better idea of the challenges that exist in large scale data analytics, and the current state of the tradeoffs between data lakes and data warehouses in the cloud.

Announcements
  • Hello and welcome to the Data Engineering Podcast, the show about modern data management
  • When you’re ready to build your next pipeline, or want to test out the projects you hear about on the show, you’ll need somewhere to deploy it, so check out our friends at Linode. With 200Gbit private networking, scalable shared block storage, and a 40Gbit public network, you’ve got everything you need to run a fast, reliable, and bullet-proof data platform. If you need global distribution, they’ve got that covered too with world-wide datacenters including new ones in Toronto and Mumbai. And for your machine learning workloads, they just announced dedicated CPU instances. Go to dataengineeringpodcast.com/linode today to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
  • And to keep track of how your team is progressing on building new pipelines and tuning their workflows, you need a project management system designed by engineers, for engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. With such an intuitive tool it’s easy to make sure that everyone in the business is on the same page. Data Engineering Podcast listeners get 2 months free on any plan by going to dataengineeringpodcast.com/clubhouse today and signing up for a free trial. Support the show and get your data projects in order!
  • You listen to this show to learn and stay up to date with what’s happening in databases, streaming platforms, big data, and everything else you need to know about modern data management. For even more opportunities to meet, listen, and learn from your peers you don’t want to miss out on this year’s conference season. We have partnered with organizations such as O’Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to dataengineeringpodcast.com/conferences to learn more and take advantage of our partner discounts when you register.
  • Go to dataengineeringpodcast.com to subscribe to the show, sign up for the mailing list, read the show notes, and get in touch.
  • To help other people find the show please leave a review on iTunes and tell your friends and co-workers
  • Join the community in the new Zulip chat workspace at dataengineeringpodcast.com/chat
  • Your host is Tobias Macey and today I’m interviewing Michael Armbrust about Delta Lake, an open source storage layer that brings ACID transactions to Apache Spark and big data workloads.
  • Interview
    • Introduction
    • How did you get involved in the area of data management?
    • Can you start by explaining what Delta Lake is and the motivation for creating it?
    • What are some of the common antipatterns in data lake implementations and how does Delta Lake address them?
      • What are the benefits of a data lake over a data warehouse?
        • How has that equation changed in recent years with the availability of modern cloud data warehouses?
        • How is Delta lake implemented and how has the design evolved since you first began working on it?
          • What assumptions did you have going into the project and how have they been challenged as it has gained users?
          • One of the compelling features is the option for enforcing data quality constraints. Can you talk through how those are defined and tested?
            • In your experience, how do you manage schema evolution when working with large volumes of data? (e.g. rewriting all of the old files, or just eliding the missing columns/populating default values, etc.)
            • Can you talk through how Delta Lake manages transactionality and data ownership? (e.g. what if you have other services interacting with the data store)
              • Are there limits in terms of the volume of data that can be managed within a single transaction?
              • How does unifying the interface for Spark to interact with batch and streaming data sets simplify the workflow for an end user?
                • The Lambda architecture was popular in the early days of Hadoop but seems to have fallen out of favor. How does this unified interface resolve the shortcomings and complexities of that approach?
                • What have been the most difficult/complex/challenging aspects of building Delta Lake?
                • How is the data versioning in Delta Lake implemented?
                  • By keeping a copy of all iterations of a data set there is the opportunity for a great deal of additional cost. What are some options for mitigating that impact, either in Delta Lake itself or as a separate mechanism or process?
                  • What are the reasons for standardizing on Parquet as the storage format?
                    • What are some of the cases where that has led to greater complications?
                    • In addition to the transactionality and data validation that Delta Lake provides, can you also explain how indexing is implemented and highlight the challenges of keeping them up to date?
                    • When is Delta Lake the wrong choice?
                      • What problems did you consciously decide not to address?
                      • What is in store for the future of Delta Lake?
                      • Contact Info
                        • LinkedIn
                        • @michaelarmbrust on Twitter
                        • marmbrus on GitHub
                        • Parting Question
                          • From your perspective, what is the biggest gap in the tooling or technology for data management today?
                          • Links
                            • Delta Lake
                            • DataBricks
                            • Spark SQL
                            • Microsoft SQL Server
                            • Databricks Delta
                            • Spark Summit
                            • Apache Spark
                            • Enterprise Data Curation Episode
                            • Data Lake
                            • Data Warehouse
                            • SnowflakeDB
                            • BigQuery
                            • Parquet
                              • Data Serialization Episode
                              • Hive Metastore
                              • Great Expectations
                                • Podcast.__init__ Interview
                                • Optimistic Concurrency/Optimistic Locking
                                • Presto
                                • Starburst Labs
                                  • Podcast Interview
                                  • Apache NiFi
                                    • Podcast Interview
                                    • Tensorflow
                                    • Tableau
                                    • Change Data Capture
                                    • Apache Pulsar
                                      • Podcast Interview
                                      • Pravega
                                        • Podcast Interview
                                        • Multi-Version Concurrency Control
                                        • MLFlow
                                        • Avro
                                        • ORC
                                        • 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

                                          152 Listeners

                                          Thoughtworks Technology Podcast by Thoughtworks

                                          Thoughtworks Technology Podcast

                                          41 Listeners

                                          Data Skeptic by Kyle Polich

                                          Data Skeptic

                                          482 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)

                                          443 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

                                          189 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