Попытка понять, как это сделать с помощью map_reduce. В настоящее время я нахожу, чтобы вытащить целую коллекцию в один большой фрейм панды. Это ДФ содержит что-то вроде этого:mapreduce, чтобы найти несколько максимальных значений
project ep seq shot layers totalframes
showA sh18 17120 10 cnt_chr_set 128
showA sh18 17040 70 shd_chr_set 288
showA sh18 80 460 chr_rim 131
showA sh18 17120 20 chr_vol_lgt 120
showA sh18 17120 10 set_all 128
showA sh18 17120 20 cnt_chr_set 120
showA sh18 17120 20 cnt_chr_set 130
showA sh18 17120 20 cnt_chr_set 3
showA sh18 17120 20 cnt_chr_set 1
showA sh18 17120 10 set_all_ani 128
showA sh18 17120 20 set_all_ani 120
showA sh18 17040 70 set_all 288
showA sh18 17120 10 shd_chr_set 128
showA sh18 17120 20 shd_chr_set 120
showA sh18 18150 20 chr_ben_steam 3
showA sh18 18150 20 chr_whi_steam 3
showA sh18 18150 20 chr_bil_steam 3
showA sh18 17040 70 chr_sal_steam 288
То, что я на самом деле нужно сделать, это найти MAX totalframes для каждого слоя выстрела. Результирующий информационный кадр должен содержать только один из каждого слоя для снимка. например:
showA sh18 17120 20 chr_vol_lgt 120
showA sh18 17120 20 cnt_chr_set 130
showA sh18 17120 20 set_all_ani 120
Я на самом деле пытается добраться до этой точки только с пандами, но кажется, что это слишком много данных, чтобы работать с. Вытягивать только то, что мне нужно от mongodb в dataframe, кажется правильным путем, но я не знаю, с чего начать с map_reduce.
Указатели оценили.
Не будет ли эта группа слоев, но игнорировать снимки? У меня есть ограниченное число имен слоев, но тысячи разных имен выстрелов. Вам нужно найти максимальный размер для каждого слоя для каждого кадра. –
Вы правы. Я думаю, вы захотите сделать агрегацию с комбинацией $ sort по слоям: 1, totalframes: -1 и $ first. Я могу собрать его вместе, если у меня будет время завтра – Mzzl