/aggregations-3

Technologie NoSQL – agregacje w MongoDB

Primary LanguageJavaScript

Agregacje 3

Data Wranglers

Kilka przykładowych agregacji korzystających z danych zipcodes oraz imieniny opisano w Aggregation Pipeline Examples.

Poprawka, deadline, 2014-11-27, 08:00 CEST

[16.11.2014] 12.11. pojawiła się wersja 2.8.0-rc0. Dlatego do tabelek w zadaniach 1a, 1c, 2 dodać wiersze dla tej (lub późniejszej) wersji MongoDB. W wynikach uwzględnić storageEngines MMAP (Understanding MongoDB Storage) i WiredTiger.

Należy przygotować rozwiązania zadań 1 i 2.

Dane należy wpisać według schematu (całość w jednym wierszu):

1. [Nazwisko, Imię](link do **prywatnego** repo z rozwiązaniem zadania 1 na GitHub).
   [Tytuł](link do **prywatnego** repo z rozwiązaniem zadania 2 na GitHub)
  1. Banecki, Daniel
  2. Bławat, Adam
  3. Komorowski, Szymon
  4. Nowicki, Jakub

Niezaliczone laboratorium

  1. Banecka, Kamila
  2. Bieliński, Marcin
  3. Gałka, Łukasz
  4. Grycko, Marcin
  5. Janowski, Arkadiusz
  6. Kamiński, Jakub
  7. Kłeczek, Piotr
  8. Koźmiński, Marcin
  9. Makulec, Krzysztof
  10. Sałata, Jakub
  11. Soliński, Damian
  12. Szklarska, Milena
  13. Szymanek, Tomasz
  14. Zdunek, Kamil

Egzamin, deadline czwartek, 2015-01-08, 08:00 CEST

Należy przygotować rozwiązanie Zadania 3 (można użyć innych danych i napisać swoje map-reduce).

Zamiast bazy MongoDB, można przygotować przykłady lub wtyczki lub agregacje dla bazy Elasticsearch. Na początek należy się przyjrzeć narzędziu Kibana, następnie poczytać o wtyczkach a na koniec o agregacjach.

Uwaga: Większe zadania, można przygotować w zespole 2–3 osobowym.

  1. Acewicz-Hepfner, Patryk
  2. Banecka, Kamila
  3. Banecki, Daniel
  4. Bednarczyk, Marek
  5. Bieliński, Marcin
  6. Bławat, Adam
  7. Bonczkowska, Magdalena
  8. Borkowski, Maciej
  9. Cimoch, Jarosław
  10. Czechowicz, Kacper
  11. Dargacz, Mateusz
  12. Drozdowski, Adrian
  13. Ekiert, Łukasz
  14. Gałka, Łukasz
  15. Grycko, Marcin
  16. Horoszko, Marcin
  17. Janowski, Arkadiusz
  18. Józwiak, Roman
  19. Kamiński, Jakub
  20. Karolczak, Jakub
  21. Kąkol, Jan
  22. Kłeczek, Piotr
  23. Komorowski, Szymon
  24. Koźmiński, Marcin
  25. Kożuch, Adam
  26. Kucharski, Maciej
  27. Kulas, Piotr
  28. Kuźnik, Mateusz
  29. Kwiatkowski, Dominik
  30. Lamkiewicz, Krzysztof
  31. Latoszewski, Adam
  32. Latoszewski, Krzysztof
  33. Ławicki, Patryk
  34. Makulec, Krzysztof
  35. Miotk, Mateusz
  36. Miś, Maciej
  37. Nowak, Wojciech
  38. Nowicki, Jakub
  39. Ossowski, Marcin
  40. Piotrkowski, Łukasz
  41. Rękawek, Szymon
  42. Sałata, Jakub
  43. Sarzyńska, Magdalena
  44. Sienkiewicz, Daniel
  45. Skałkowski, Michał
  46. Soliński, Damian
  47. Synowczyk, Piotr
  48. Szklarska, Milena
  49. Szymanek, Tomasz
  50. Wittbrodt, Łukasz
  51. Zakrzewski, Patryk
  52. Zalewski, Marcin
  53. Zdunek, Kamil

Simple Rules for Reproducible Computations

Provide public access to scripts, runs, and results:

  1. Version control all custom scripts:
  • avoid writing code
  • write thin scripts and use standard tools and use standard UNIX commands to chain things together.
  1. Avoid manual data manipulation steps:
  • use a build system, for example make, and have all results produced automatically by build targets
  • if it’s not automated, it’s not part of the project, i.e. have an idea for a graph or an analysis? automate its generation
  1. Use a markup, for example Markdown, to create reports for analysis and presentation output products.

And two more rules:

  1. Record all intermediate results, when possible in standardized formats.
  2. Connect textual statements to underlying results.

Różne rzeczy

  1. Do automatycznego wygenerowania spisu treści w zadaniach można użyć narzędzia Table of Contents Preprocessor.
  2. Scott Chacon, Ben Straub. Pro Git

Big Collections

  1. Stanford Large Network Dataset Collection by Jure Leskovec: Online Reviews (Amazon, Movies, Beer)
  2. GetGlue and Timestamped Event Data (ok. 11 GB); próbka 100 jsonów getglue101. Dane pochodzą z lat 2007–2012 – tylko filmy i przedstawienia TV. Przykładowe aggregacje: ilu jest różnych użytkowników w danych? jakie jest 10 najpopularniejszych filmów i przedstawień TV? ile jest różnych akcji?
  3. GeoNamesPostal Codes.