Dane
Dane należy wygenerować skryptem
process.py
Szacowany czas działania skryptu generującego i wielkość otrzymanego pliku.
Execution time (learn): 1548.5717107104495 s
1 862 579 471 big_data_task_03.dat
184 802 big_data_task_03_test.dat
Modyfikując parametry skryptu można otrzymać mniejsze zbiory, co na etapie poszukiwania ostatecznej wersji rozwiązania zadania jest dobrym rozwiązaniem. Pamiętać jednak należy, że podczas sprawdzania projektu zbiory te będą co najmniej takiej właśnie wielkości (najprawdopodobniej kilka razy większe).
Opis
Skrypt generuje dwa pliki o takim samym typie zawartości, ale różnej wielkości: plik główny (PG) i plik testowy (PT). Opis zawartości:
- Dane zapisane są w wierszach; jeden wiersz = jedna dana.
- W wierszu znajduje się od 3 do 30 liczb należących do przedziału [0,99] rozdzielonych przecinkami.
- Kolejność występowania liczb w ramch jednego wiersza (jednej danej) nie jest istotna
Wiersz:
1, 2, 3
jest tożsamy z wierszem
2, 1, 3
Mówiąc inaczej, nie muszą Państwo zachowywać kolejności liczb w ramach jednego wiersza (jednej danej).
- Powtórzenia liczb w ramach jednego wiersza (jednej danej) nie są istotne
Wiersz:
1, 2, 3, 1, 2, 3, 1, 2, 1
jest tożsamy z wierszem
1, 2, 3
Dla każdej danej z PT należy odszukać 20 najlepiej dopasowanych danych z PG. Miarą dopasowania jest ilość takich samych liczb występujących w dwóch różnych danych. Na przykład
dana z PG
1, 2, 3, 1, 2, 3, 1, 2, 1, 4
dana z PT
1, 2, 4, 5, 6
dopasowanie: 3 (w obu danych wytępują liczby 1, 2 i 4).
Należy koniecznie zapewnić aby Państwa program działał na dużych plikach PG, tj. nie mniejszych niż 2GiB i jenocześnie plikach PT zawierających nie mniej niz 10000 wierszy (danych).