将《Data Algorithms》(Mahmoud Parsian 著) 一书中的 Java/Scala 算法全部转换为 Python/PySpark 3.5 实现,位于 spark-data-algorithms/ 目录。
共覆盖 17 个章节:
| 章节 | 算法 | 路径 |
|---|---|---|
| 第1章 | 二次排序 (Secondary Sort) | src/chap01/ |
| 第3章 | Top-N 算法 | src/chap03/ |
| 第4章 | 左外连接 (Left Outer Join) | src/chap04/ |
| 第5章 | 相对频率 (Relative Frequency) | src/chap05/ |
| 第6章 | 移动平均 (Moving Average) | src/chap06/ |
| 第7章 | 关联规则 (Association Rules) | src/chap07/ |
| 第8章 | 共同好友 (Common Friends) | src/chap08/ |
| 第9章 | 好友推荐 (Friend Recommendation) | src/chap09/ |
| 第10章 | 电影推荐 (Movie Recommendations) | src/chap10/ |
| 第11章 | 马尔可夫链 (Markov Chain) | src/chap11/ |
| 第12章 | KMeans 聚类 | src/chap12/ |
| 第13章 | K近邻分类 (kNN) | src/chap13/ |
| 第16章 | 三角形计数 (Count Triangles) | src/chap16/ |
| 第17章 | K-mer 计数 | src/chap17/ |
| 第24章 | DNA 碱基计数 | src/chap24/ |
| 第26章 | 基因聚合 (Gene Aggregation) | src/chap26/ |
| 第28章 | 均值单子化 (Mean Monoidized) | src/chap28/ |
cd spark-data-algorithms
# 安装依赖
uv sync
# 运行任意章节
uv run python src/chap01/secondary_sort.py- Python 3.11+
- PySpark 3.5.8
- Java 8 或 Java 11
- uv
spark-data-algorithms/
├── pyproject.toml
├── data/ # 各章示例数据
├── src/ # 各章 PySpark 实现
└── README.md
原始 Java/Scala 代码保留在 src/main/,原始 README 已移至 README.original.md。