|
|
2 săptămâni în urmă | |
|---|---|---|
| .. | ||
| db | 2 săptămâni în urmă | |
| file | 2 săptămâni în urmă | |
| hdfs | 2 săptămâni în urmă | |
| README.md | 2 săptămâni în urmă | |
| __init__.py | 2 săptămâni în urmă | |
与外部系统通信的边界。所有跨进程/跨主机的读写在这里封装,避免业务代码直接依赖 driver / 网络协议。
划分准则(与 common/ / utils/ / ops/ 的区别):
| 语义 | 放 |
|---|---|
| 连接工厂、读写封装(有 I/O) | io/ |
| 纯函数、无状态工具(字符串/日期/哈希) | utils/ |
| 跨模块常量、配置、context、DI container | common/ |
| 数据湖运维操作(compaction / 分区清理 / 小文件合并) | ops/ |
db/ —— 数据库连接工厂与读写封装(MySQL / PostgreSQL / Hive / MongoDB 等)file/ —— 文件格式读写(csv / txt / json / excel)hdfs/ —— HDFS 文件读写(纯 I/O;compaction/合并属于 ops/)db.MySQLHandler(conf) -> Connection-likedb.PGHandler(conf) / db.HiveHandler(conf) / db.MongoHandler(conf)file.read_csv(path, **opts) / file.write_csv(df, path, **opts)file.read_excel(path, sheet=None) / file.write_excel(df, path)file.read_json(path) / file.write_json(obj, path)hdfs.read(path) / hdfs.write(path, content) / hdfs.ls(path)configparser(读 conf/ 配置)pymysql / psycopg2 / openpyxl / HDFS 客户端等datasource/*.ini 读取账密(高敏不入库)骨架(未启动)。本批仅建目录。后续 B2 阶段搬入:
dw_base/database/mysql_utils.py → io/db/mysql.pydw_base/utils/file_utils.py → io/file/dw_base/utils/hdfs_dir_file_coalesce.py / hdfs_merge_small_file.py → 搬 ops/(不是 io/hdfs/)见 kb/90-重构路线.md 聚簇 B。