Bỏ qua

Thuật toán: Đếm số từ xuất hiện trong chuỗi

🟡 Trung bình · Thuật toán


Cách tiếp cận (tư duy MapReduce)

  1. Đánh giá kích thước: Chuỗi nhỏ → xử lý trực tiếp. Lớn (GB) → split.
  2. Split: Tách thành phần nhỏ, chạy song song.
  3. Map: Mỗi phần, tách từ và đếm → {từ: số lần}.
  4. Reduce: Ghép kết quả (cộng số lần cùng từ).

Python đơn giản

from collections import Counter
text = "hello world hello data world data data"
result = Counter(text.split())
# {'data': 3, 'hello': 2, 'world': 2}

Spark (dữ liệu lớn)

rdd = sc.textFile("hdfs://data.txt")
counts = rdd.flatMap(lambda x: x.split()) \
             .map(lambda w: (w, 1)) \
             .reduceByKey(lambda a, b: a + b)

💡 Tip

Phỏng vấn muốn thấy tư duy chia nhỏ bài toán, xử lý song song — đúng tinh thần MapReduce/Spark.

Comments