综述
upload,intersection,lr 等等组件,如果有中间结果,都以lmdb的形式存储。
有关lmdb的,请参考官方文档
存储位置为:nodemanager 的 /data/projects/fate/eggroll/data/LMDB
按照outputdata{task_id} 存储各个task的结果 如:
- output_data_20210908144140944232712_dataio_0_0
- output_data_20210908144140944232712_hetero_lr_0_0
- output_data_20210908144140944232712_intersection_0_0
因为以kubefate的方式部署,是分布式的。在当前情况下存在nodemanager,nodemanager-0,nodemanager-1,nodemanager-2 四个节点。分别在四个节点下查看output_data_20210908144140944232712_dataio_0_0,结果如下
- nodemanager:data/LMDB/output_data_20210908144140944232712_dataio_0_0/52adf118107011ec90ee9ead31313d02/3/data.mdb
- nodemanager-0:data/LMDB/output_data_20210908144140944232712_dataio_0_0/52adf118107011ec90ee9ead31313d02/0/data.mdb
- nodemanager-1:data/LMDB/output_data_20210908144140944232712_dataio_0_0/52adf118107011ec90ee9ead31313d02/1/data.mdb
- nodemanager-2:data/LMDB/output_data_20210908144140944232712_dataio_0_0/52adf118107011ec90ee9ead31313d02/2/data.mdb
lmdb 文件大小之谜
分别使用ls -l -h 和 du 查看data.mdb 大小时,会获得不同的结果,如下1
2
3
4
5(app-root) bash-4.2# ls -l -h
total 2.5M
-rw-r--r-- 1 root root 15G Sep 7 08:49 data.mdb
(app-root) bash-4.2# du -s -h data.mdb
2.5M data.mdb
这是因为ldmb 文件是稀疏的,详情参考为什么用ls和du显示出来的文件大小有差别?
lmdb文件中的内容
以table的形式存储在lmdb中,Python 有lmdb包,使用其来进行查看。