indices.py 1.0 KB

1234567891011121314151617181920212223242526272829
  1. """
  2. This module provide some utilized methods that operate the index of distributed data
  3. """
  4. #
  5. # Copyright 2019 The FATE Authors. All Rights Reserved.
  6. #
  7. # Licensed under the Apache License, Version 2.0 (the "License");
  8. # you may not use this file except in compliance with the License.
  9. # You may obtain a copy of the License at
  10. #
  11. # http://www.apache.org/licenses/LICENSE-2.0
  12. #
  13. # Unless required by applicable law or agreed to in writing, software
  14. # distributed under the License is distributed on an "AS IS" BASIS,
  15. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. # See the License for the specific language governing permissions and
  17. # limitations under the License.
  18. #
  19. def collect_index(data_insts):
  20. data_sids = data_insts.mapValues(lambda data_inst: None)
  21. # data_size = data_sids.count() # Record data nums that left
  22. data_sids_iter = data_sids.collect()
  23. data_sids_iter = sorted(data_sids_iter, key=lambda x: x[0])
  24. data_size = len(data_sids_iter)
  25. return data_sids_iter, data_size