Summary

There is a vast constellation of tools and platforms for processing and analyzing your data. In this episode Matthew Rocklin talks about how Dask fills the gap between a task oriented workflow tool and an in memory processing framework, and how it brings the power of Python to bear on the problem of big data.

Preamble

Hello and welcome to the Data Engineering Podcast, the show about modern data infrastructure

Go to dataengineeringpodcast.com to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.

You can help support the show by checking out the Patreon page which is linked from the site.

To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers

Your host is Tobias Macey and today I’m interviewing Matthew Rocklin about Dask and the Blaze ecosystem.

Interview with Matthew Rocklin

Introduction

How did you get involved in the area of data engineering?

Dask began its life as part of the Blaze project. Can you start by describing what Dask is and how it originated?

There are a vast number of tools in the field of data analytics. What are some of the specific use cases that Dask was built for that weren’t able to be solved by the existing options?

One of the compelling features of Dask is the fact that it is a Python library that allows for distributed computation at a scale that has largely been the exclusive domain of tools in the Hadoop ecosystem. Why do you think that the JVM has been the reigning platform in the data analytics space for so long?

Do you consider Dask, along with the larger Blaze ecosystem, to be a competitor to the Hadoop ecosystem, either now or in the future?

Are you seeing many Hadoop or Spark solutions being migrated to Dask? If so, what are the common reasons?

There is a strong focus for using Dask as a tool for interactive exploration of data. How does it compare to something like Apache Drill?

For anyone looking to integrate Dask into an existing code base that is already using NumPy or Pandas, what does that process look like?

How do the task graph capabilities compare to something like Airflow or Luigi?

Looking through the documentation for the graph specification in Dask, it appears that there is the potential to introduce cycles or other bugs into a large or complex task chain. Is there any built-in tooling to check for that before submitting the graph for execution?

What are some of the most interesting or unexpected projects that you have seen Dask used for?

What do you perceive as being the most relevant aspects of Dask for data engineering/data infrastructure practitioners, as compared to the end users of the systems that they support?

What are some of the most significant problems that you have been faced with, and which still need to be overcome in the Dask project?

I know that the work on Dask is largely performed under the umbrella of PyData and sponsored by Continuum Analytics. What are your thoughts on the financial landscape for open source data analytics and distributed computation frameworks as compared to the broader world of open source projects?

Keep in touch

@mrocklin on Twitter

mrocklin on GitHub

Links

The intro and outro music is from The Hug by The Freak Fandango Orchestra / CC BY-SA

Liked it? Take a second to support the Data Engineering Podcast on Patreon!