Statistician
B.Ed (Maths)
GIS-lead
Data Scientist, WB
NSO, Malawi
1
Big Data Basics
Big Data Analytics with Python, AIMS-Rwanda 2022
Dunstan Matekenya, PhD
Outline
Whats Big Data?
Exercise: Tracking the Big Data Hype
Using the Google trends site check how the popularity of the search term “Big Data” has declined compared with similar search terms: machine learning and artificial intelligence
Popularity of ‘Big Data’ Search Term on Google
What exactly is Big Data?
Characteristics of Big Data-The 4 V’s
Characteristics of Big Data-The 4 V’s
History of Big Data
Examples of Big Data
Articles talking about Big Data volumes
Very Big Data at Netflix
Applications of Big Data?
Industries Using Big Data
What Do they Do with the Data?
Online Retail
Search
Finance
Manufacturing
Automobile
Telecom
Entertainment
Medicine
Insurance
Big Data Tools and Ecosytem
What Do We Want to Do with Big Data?
Store, manage and retrieve
Analyze and visualize
Build models (ML)
The Big Data tools, methodologies, frameworks and ecosystems address these tasks. Most technologies combine several aspects. For instance, with Hadoop, you have both storage and analysis capabilities
Tools and Platforms
Cloud providers
Hadoop, HDFS, Apache Spark, Mapreduce
NoSQL Databases
How Some of these Components Look in a Full System
Summary on Big Data
Further Reading on Big Data Basics
Big Data and Parallel Processing
What is Parallel Processing
Most Big Data Frameworks utilize both data and task parallelism
Similar Concepts to Parallelism
Why Parallel Processing?
Compute (CPU)
Storage
Single node setup
Parallel vs. Linear Processing
Linear/sequential processing
Parallel processing
Problem
Instruction-1
Instruction-2
Instruction-N
Output
Problem
Instruction-1
Instruction-2
Instruction-N
Output
Error
Error
Advantages of Parallel Processing
Vertical Scaling Vs. Horizontal Scaling
Compute
Eventually vertical scaling fails
Compute
Compute
Horizontal Scaling is Better
Storage
Compute
Storage
Compute
Storage
Compute
Storage
Compute
Storage
Compute
A Cluster of computers
Concurrency and Parallelism in Python
Before we turn to the big guns (Big Data frameworks) to handle our Big Data, we will look at how to achieve simple parallelism with vanilla Python
Concurrency and Parallelism in Python
Summary of Different Concurrency Types in Python
CPU-Bound and I/O-Bound Programs in in Python
I/O Bound Vs. CPU Bound Processes
How to Achieve Concurrency in Python
How to Solve Big Data Problems in Python
Working with data in a distributed fashion is inherently difficult, therefore make sure that you exhaust all options before jumping into using Spark, Hadoop or other Big Data frameworks
Advice on Tackling a Big Data Problem
Some questions to ask yourself before you jump to the big guns
Further Reading on Parallelism