MinAI - Về trang chủ
Quiz
15/1530 phút
Đang tải...

Quiz tổng hợp

Kiểm tra kiến thức toàn khóa học Data Wrangling & Big Data

0

🎯 Mục tiêu bài Quiz

TB5 min

Kiểm tra kiến thức của bạn qua các câu hỏi trắc nghiệm và bài tập thực hành!

✅ 18 câu hỏi trắc nghiệm (6 phần)

✅ 3 bài tập thực hành

✅ Yêu cầu: Hoàn thành bài 1-14

Thời gian: 30 phút | Độ khó: Tổng hợp | Đạt yêu cầu: ≥ 13/18 câu đúng

1

Phần 1: Advanced Pandas & ETL

TB5 min
2

Phần 2: Apache Spark

TB5 min
3

Phần 3: PySpark

TB5 min
4

Phần 4: Kafka & Streaming

TB5 min
5

Phần 5: Data Lake & Delta Lake

TB5 min
6

Phần 6: NLP & Tổng hợp

TB5 min
7

📝 Bài tập thực hành

TB5 min

Bài tập 1: Advanced Pandas Pipeline

Yêu cầu: Viết một Pandas pipeline sử dụng .pipe() để xử lý dữ liệu bán hàng:

  1. Loại bỏ rows có revenue < 0
  2. Tạo cột revenue_per_unit = revenue / quantity
  3. Group by category và tính tổng revenue
Đáp án
Python
1import pandas as pd
2
3def remove_negative_revenue(df):
4 return df[df['revenue'] >= 0]
5
6def add_revenue_per_unit(df):
7 df['revenue_per_unit'] = df['revenue'] / df['quantity']
8 return df
9
10def aggregate_by_category(df):
11 return df.groupby('category')['revenue'].sum().reset_index()
12
13result = (
14 df
15 .pipe(remove_negative_revenue)
16 .pipe(add_revenue_per_unit)
17 .pipe(aggregate_by_category)
18)

Bài tập 2: PySpark Transformation

Yêu cầu: Viết PySpark code để đọc file CSV, lọc đơn hàng có amount > 1000, group by region và đếm số đơn hàng.

Đáp án
Python
1from pyspark.sql import SparkSession
2from pyspark.sql.functions import count
3
4spark = SparkSession.builder.appName("OrderAnalysis").getOrCreate()
5
6df = spark.read.csv("orders.csv", header=True, inferSchema=True)
7
8result = (
9 df
10 .filter(df["amount"] > 1000)
11 .groupBy("region")
12 .agg(count("*").alias("order_count"))
13 .orderBy("order_count", ascending=False)
14)
15
16result.show()

Bài tập 3: Kafka Consumer Design

Yêu cầu: Một hệ thống e-commerce có topic order-events với 6 partitions. Cần xử lý 3000 messages/giây. Thiết kế consumer group phù hợp.

  1. Cần bao nhiêu consumers tối ưu?
  2. Nếu 1 consumer crash, điều gì xảy ra?
  3. Nếu thêm consumer thứ 7, nó có nhận được partition nào không?
Đáp án
  1. Tối ưu: 6 consumers (bằng số partitions) — mỗi consumer xử lý 1 partition (~500 msgs/s mỗi consumer).
  2. Rebalance xảy ra: Kafka tự động phân bổ lại partition của consumer bị crash cho các consumers còn lại trong group. Ví dụ: 5 consumers còn lại, 1 consumer sẽ xử lý 2 partitions.
  3. Consumer thứ 7 sẽ idle — không nhận partition nào vì số consumers > số partitions. Trong 1 consumer group, mỗi partition chỉ gán cho đúng 1 consumer.
8

📊 Đánh giá kết quả

TB5 min
Số câu đúngĐánh giá
16-18🌟 Xuất sắc! Bạn nắm vững kiến thức
13-15👍 Tốt! Cần ôn lại một số chủ đề
9-12📚 Cần học thêm, xem lại các bài
< 9🔄 Nên học lại từ đầu
9

🎓 Hoàn thành khóa học!

TB5 min

Câu hỏi tự kiểm tra

  1. Khi nào nên dùng Pandas và khi nào nên chuyển sang PySpark?
  2. Giải thích sự khác biệt giữa Data Lake và Data Warehouse, khi nào dùng cái nào?
  3. Tại sao Delta Lake lại quan trọng trong kiến trúc Data Lakehouse?
  4. Thiết kế một Data Pipeline end-to-end cho hệ thống e-commerce real-time.

🎉 Tuyệt vời! Bạn đã hoàn thành toàn bộ khóa học Data Wrangling & Big Data!

Tiếp theo: Hãy áp dụng kiến thức vào các dự án thực tế và tiếp tục học Deep Learning hoặc MLOps!

Chúc mừng!

Bạn đã hoàn thành khóa học Data Wrangling & Big Data!

Kiến thức này sẽ là nền tảng quan trọng cho:

  • 🔄 Xây dựng ETL/ELT Pipelines chuyên nghiệp
  • ⚡ Xử lý Big Data với Spark & PySpark
  • 📡 Streaming data với Apache Kafka
  • 🏗️ Thiết kế Data Lakehouse với Delta Lake
  • 🤖 Chuẩn bị dữ liệu cho Machine Learning & NLP

Next steps:

  • Thực hành với dữ liệu thực tế (Kaggle, công ty)
  • Xây dựng portfolio projects với Spark & Kafka
  • Học tiếp Deep Learning hoặc MLOps