Skip to content

WUBING2023/big_data_work

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MapReduce 词频统计

大数据课程作业,用 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/

流程

  1. 数据切分:多个 txt 模拟分布式分片
  2. Map:并行分词 + 停用词过滤 + 局部计数
  3. Shuffle:相同单词的计数收集到同一个列表
  4. Reduce:求和得到全局词频
  5. 排序保存为 JSON 和 CSV
  6. 可视化输出

输出

  • data/output/final_word_count.json
  • data/output/final_word_count.csv
  • data/output/word_frequency_bar.png

About

大数据作业

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages