Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dict_Data = [{'id' : 'id_5637', 'feature1' : 1, 'feature2' : 2, 'feature3' : 3, 'feature4' : 4, 'feature5' : 5},
- {'id' : 'id_1246', 'feature1' : 3, 'feature2' : 4, 'feature3' : 5, 'feature4' : 6, 'feature5' : 7},
- {'id' : 'id_3357', 'feature1' : 1, 'feature2' : 4, 'feature3' : 6, 'feature4' : 2, 'feature5' : 4}]
- map_Dict_Data = []
- for i in range(len(Dict_Data)):
- map_Dict_Data.append(run_map(Dict_Data[i]))#считаем, что мап принимает на вход дикт,
- #в котором ключи это имя признаков (названия колонок в таблице)
- #возвращает такой же жикт
- key = 'id'
- run_sort(key, map_Dict_Data) # в сорт передаем имя колонки, по которой хотим посортировать
- key_old = map_Dict_Data[0][key]
- reducer_Dict_Data = []
- Res_Dict_Data = []
- for i in range(num_worker):
- Dict_worker_data[i] = []
- for i in range(len(map_Dict_Data)):
- Dict_worker_data[partitioner(map_Dict_Data[i][key])].append(map_Dict_Data[i])
- for j in range(num_worker):# идем по всем партициям
- reducer_Data = []
- for i in range(len(Dict_worker_data[j])): # идем по всем данным, которые партишонер отнес к данной партиции
- key_new = Dict_worker_data[j][i][key]
- if key_new == key_old:
- reducer_Dict_Data.appernd(Dict_worker_data[j][i])
- else:
- Res_Dict_Data.append(run_reducer(reducer_Dict_Data))
- key_old = key_new
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement