CMPT 732 Lecture Notes

  1. Course Introduction slides
  2. Hadoop Concepts [“Hadoop Concepts” slides]
    1. Our Cluster [Our Cluster slides]
    2. Hadoop Pieces [Hadoop Pieces slides]
    3. HDFS [HDFS slides]
    4. YARN [YARN slides]
    5. (Simplified) Cluster Overview [(Simplified) Cluster Overview slides]
    6. Work on Hadoop [Work on Hadoop slides]
    7. MapReduce [MapReduce slides]
    8. MapReduce Stages [MapReduce Stages slides]
    9. Example: word count [Example: word count slides]
    10. MapReduce Anatomy [MapReduce Anatomy slides]
    11. Hadoop MapReduce Details [Hadoop MapReduce Details slides]
    12. Summary Output [Summary Output slides]
    13. MapReduce Parallelism [MapReduce Parallelism slides]
    14. Writables [Writables slides]
    15. Example: word count [Example: word count slides]
    16. About MapReduce [About MapReduce slides]
    17. MapReduce: One more way [MapReduce: One more way slides]
    18. MapReduce Data Flow [MapReduce Data Flow slides]
  3. Python Preliminaries [“Python Preliminaries” slides]
    1. About Python [About Python slides]
    2. Data Types [Data Types slides]
    3. Unpacking Tuples [Unpacking Tuples slides]
    4. First-Class Functions [First-Class Functions slides]
    5. Lambda Functions [Lambda Functions slides]
    6. Iterators and Generators [Iterators and Generators slides]
    7. Imperative vs declarative [Imperative vs declarative slides]
  4. Spark Concepts [“Spark Concepts” slides]
    1. Spark [Spark slides]
    2. An Example [An Example slides]
    3. RDDs [RDDs slides]
    4. RDD Operations [RDD Operations slides]
    5. Operations and Partitions [Operations and Partitions slides]
    6. Partitions [Partitions slides]
    7. Lazy Evaluation [Lazy Evaluation slides]
    8. Chaining Calculations [Chaining Calculations slides]
    9. Combining Calculations [Combining Calculations slides]
    10. Shuffle Operations [Shuffle Operations slides]
    11. Drivers & Executors [Drivers & Executors slides]
    12. Controlling Executors [Controlling Executors slides]
    13. Spark Web Frontend [Spark Web Frontend slides]
    14. Spark vs MapReduce [Spark vs MapReduce slides]
    15. Spark DAG [Spark DAG slides]
    16. Stages [Stages slides]
    17. Job, Stages, Tasks [Job, Stages, Tasks slides]
    18. RDD Methods [RDD Methods slides]
  5. Spark DataFrames Concepts [“Spark DataFrames Concepts” slides]
    1. Working With Data [Working With Data slides]
    2. Spark DataFrames [Spark DataFrames slides]
    3. DataFrames [DataFrames slides]
    4. Column Expressions [Column Expressions slides]
    5. SQL Syntax [SQL Syntax slides]
    6. The Optimizer [The Optimizer slides]
    7. Input/Output [Input/Output slides]
    8. Parquet [Parquet slides]
    9. Partitioning [Partitioning slides]
    10. Limitations [Limitations slides]
    11. UDFs [UDFs slides]
    12. Python ↔ JVM [Python ↔ JVM slides]
  6. Cloud & Data Management
  7. Why MapReduce? [“Why MapReduce?” slides]
    1. MapReduce History [MapReduce History slides]
    2. Fault Tolerance [Fault Tolerance slides]
    3. Where Your Data Might Be [Where Your Data Might Be slides]
  8. 21st Century Databases
  9. NoSQL & Cassandra [“NoSQL & Cassandra” slides]
    1. The Problem [The Problem slides]
    2. Some DB Operations [Some DB Operations slides]
    3. Non-Relational Databases [Non-Relational Databases slides]
    4. NoSQL Limitations [NoSQL Limitations slides]
    5. Cassandra [Cassandra slides]
    6. Cassandra Data Model [Cassandra Data Model slides]
    7. CQL [CQL slides]
    8. Fault Tolerance [Fault Tolerance slides]
    9. Consistency [Consistency slides]
    10. Relational Data [Relational Data slides]
    11. Denormalizing Data [Denormalizing Data slides]
  10. Spark Machine Learning [“Spark Machine Learning” slides]
    1. Recap: Machine Learning [Recap: Machine Learning slides]
    2. Spark ML [Spark ML slides]
    3. Pipelines [Pipelines slides]
    4. Models [Models slides]
    5. Evaluation [Evaluation slides]
    6. ML Algorithms [ML Algorithms slides]
    7. More Topics [More Topics slides]
    8. Demo [Demo slides]
  11. Spark Streaming [“Spark Streaming” slides]
    1. The Purpose [The Purpose slides]
    2. Options [Options slides]
    3. RDD-Based: The Idea [RDD-Based: The Idea slides]
    4. DStreams [DStreams slides]
    5. Structured Streaming [Structured Streaming slides]
  12. Data Warehouse/​Lake Explainer
  13. Other Big Data Tools [“Other Big Data Tools” slides]
    1. A Look Back [A Look Back slides]
    2. What Else Is There? [What Else Is There? slides]
    3. The Plan… [The Plan… slides]
    4. Part 1: We Have Seen An Example [Part 1: We Have Seen An Example slides]
    5. Doing Computation [Doing Computation slides]
    6. Expressing Computation [Expressing Computation slides]
    7. Data Warehousing [Data Warehousing slides]
    8. Storing Files [Storing Files slides]
    9. Databases [Databases slides]
    10. Serialization/Storage [Serialization/Storage slides]
    11. Streaming [Streaming slides]
    12. ML Libraries [ML Libraries slides]
    13. Part 2: New (to us) Categories [Part 2: New (to us) Categories slides]
    14. Visualization [Visualization slides]
    15. Extract-Transform-Load [Extract-Transform-Load slides]
    16. Message Queues [Message Queues slides]
    17. Task Queues [Task Queues slides]
    18. Text Search [Text Search slides]
  14. Small Data [“Small Data” slides]
    1. Spark for ETL [Spark for ETL slides]
    2. Python Data Tools [Python Data Tools slides]
    3. NumPy [NumPy slides]
    4. Pandas [Pandas slides]
    5. Pandas & Spark [Pandas & Spark slides]
    6. SciPy [SciPy slides]
    7. SciKit-Learn [SciKit-Learn slides]
    8. Python Libraries [Python Libraries slides]
  15. NumPy/Pandas Speed [“NumPy/Pandas Speed” slides]
    1. Why So Slow? [Why So Slow? slides]
    2. NumPy Expression [NumPy Expression slides]
    3. Applying to a Series [Applying to a Series slides]
    4. Vectorizing [Vectorizing slides]
    5. Applying By Row [Applying By Row slides]
    6. Using Python [Using Python slides]
    7. With NumExpr [With NumExpr slides]
    8. Summary [Summary slides]
  16. Dask & Ray [“Dask & Ray” slides]
    1. Dask [Dask slides]
    2. Scheduling Dask [Scheduling Dask slides]
    3. More Dask Features [More Dask Features slides]
    4. Dask Summary [Dask Summary slides]
    5. Ray + Modin [Ray + Modin slides]
    6. Summary [Summary slides]

Course home page.

Schedule

Week Deliverables (*) Lecture Date First Slide Video Link
1 Assign 0 Sep 5
2 Assign 1 Sep 12
3 Assign 2 Sep 19
4 Assign 3 Sep 26
5 Assign 4 Oct 3
6 Assign 5 Oct 10
7 Assign 6, Quiz 1 Oct 17
8 Assign 7 Oct 24
9 Assign 8 Oct 31
10 Assign 9, Quiz 2 Nov 7
11 Assign 10 Nov 14
12 Nov 21
13 Quiz 3 Nov 28
14 Dec 5

* Check CourSys for the actual due dates and times.