
This video gives an overview of the entire course.
The aim of the video is to explain Spark and its Python interface.
The aim of this video is to provide a brief overview of Apache Spark stack components.
The aim of this video is to briefly review the execution process.
The aim of this video is to briefly review the newest features of Spark 2.0+.
The aim of this video is to clone the GitHub repository for the course. Doing this will set everything we need for the following videos.
In this video, we will provide a brief overview of one of the fundamental data structures of Spark – the RDDs.
In this video, we will learn how to create RDDs in many different ways.
In this video, we explore the advantages and disadvantages of RDD’s lack of schema.
Spark is lazy to process data. In this video we will learn why this is an advantage.
In this video, we will introduce lambdas and the .map(…) transformation.
In this video, we will learn how to filter data from RDDs.
In this video, we will explain the difference between .flatMap(…) and .map(…) transformations and we will learn to use it to filter malformed records.
In this video, we will explore what the .distinct(…) transformation does.
In this video, we will learn how to sample data from RDDs.
In this video, we will learn how to join two RDDs.
In this video, we will explore how to effectively use repartitioning.
In this video, we will focus on one of the most fundamental tools any data scientist can use: the .take(…) action.
In this video, we will learn when to use the .collect(…) action and when to avoid it.
In this video, we will learn another fundamental method from the Map-Reduce paradigm – the .reduce(…) and the .reduceByKey(…).
In this video, we will learn how to count the number of records in an RDD.
In this video, we will learn how to execute an action on each element of an RDD in each of its partitions.
In this video, we will explore how to aggregate the data within each partition first before collecting the results on the driver for the final aggregation.
In this video, we will learn when and why to use the .coalesce(…) method instead of the .repartition(…).
In this video, we will learn about the most flexible data reduction action.
In this video, we will learn how to bin data into buckets.
In this video, we will learn how to sort data within an RDD.
In this video, we will explore how to save data from an RDD.
In this video, we will explore some basic descriptive statistics.
In this video, we will provide a brief introduction to Spark DataFrames.
In this video, we will learn how to create DataFrames.
In this video, we will learn how to specify schema of a DataFrame.
In this video, we will discuss different ways of interacting with DataFrames.
In this video, we will learn how to use the .agg(…) method to aggregate data.
In this video, we will learn how to use the .sql(…) transformation to interact with the data in a DataFrame.
In this video, we will learn how to create temporary views over a DataFrame.
In this video, we will learn how to join two DataFrames.
In this video, we will learn how to calculate descriptive statistics in DataFrames.
In this video, we will how to retrieve distinct values from a DataFrame.
In this video, we will learn how to drop, rename, and handle missing observations.
In this video, we will learn how to filter data.
In this video, we will learn how to aggregate data.
In this video, we will learn how to select data from a DataFrame.
In this video, we will learn how to transform data.
In this video, we will learn how to present data.
In this video, we will learn how to sort data contained within a DataFrame.
In this video, we will learn how to save DataFrames in a number of file formats.
In this video, we will discuss the pitfalls of using pure Python user defined functions.
In this video, we will learn how to repartition the data.
Apache Spark is an open-source distributed engine for querying and processing data. In this tutorial, we provide a brief overview of Spark and its stack. This tutorial presents effective, time-saving techniques on how to leverage the power of Python and put it to use in the Spark ecosystem. You will start by getting a firm understanding of the Apache Spark architecture and how to set up a Python environment for Spark.
You'll learn about different techniques for collecting data, and distinguish between (and understand) techniques for processing data. Next, we provide an in-depth review of RDDs and contrast them with DataFrames. We provide examples of how to read data from files and from HDFS and how to specify schemas using reflection or programmatically (in the case of DataFrames). The concept of lazy execution is described and we outline various transformations and actions specific to RDDs and DataFrames.
Finally, we show you how to use SQL to interact with DataFrames. By the end of this tutorial, you will have learned how to process data using Spark DataFrames and mastered data collection techniques by distributed data processing.
About the Author
Tomasz Drabas is a Data Scientist working for Microsoft and currently residing in the Seattle area. He has over 12 years' international experience in data analytics and data science in numerous fields: advanced technology, airlines, telecommunications, finance, and consulting.
Tomasz started his career in 2003 with LOT Polish Airlines in Warsaw, Poland while finishing his Master's degree in strategy management. In 2007, he moved to Sydney to pursue a doctoral degree in operations research at the University of New South Wales, School of Aviation; his research crossed boundaries between discrete choice modeling and airline operations research. During his time in Sydney, he worked as a Data Analyst for Beyond Analysis Australia and as a Senior Data Analyst/Data Scientist for Vodafone Hutchison Australia among others. He has also published scientific papers, attended international conferences, and served as a reviewer for scientific journals.
In 2015 he relocated to Seattle to begin his work for Microsoft. While there, he has worked on numerous projects involving solving problems in high-dimensional feature space.