大数据课程作业,用 Python 在本地模拟 MapReduce 流程做英文词频统计。
- 自动生成测试文本
- Map 阶段做局部分词统计
- Shuffle 按 key 分组
- Reduce 汇总全局词频
- 输出 JSON / CSV 结果
- 控制台柱状图 + PNG 图片
pip install -r requirements.txt
python main.py├── main.py
├── src/
│ ├── data_generator.py
│ ├── mapper.py
│ ├── shuffler.py
│ ├── reducer.py
│ ├── visualizer.py
│ └── utils.py
├── data/
│ ├── input/
│ ├── intermediate/
│ └── output/
└── report/
- 数据切分:多个 txt 模拟分布式分片
- Map:并行分词 + 停用词过滤 + 局部计数
- Shuffle:相同单词的计数收集到同一个列表
- Reduce:求和得到全局词频
- 排序保存为 JSON 和 CSV
- 可视化输出
data/output/final_word_count.jsondata/output/final_word_count.csvdata/output/word_frequency_bar.png