Skip to content

Latest commit

 

History

History
136 lines (92 loc) · 4.06 KB

README.md

File metadata and controls

136 lines (92 loc) · 4.06 KB

#Rafał Łuczun

##Rozwiązania:

#Zadanie 1a

##Poprawianie csv Problemem w tym pliku są znaki nowej lini występujące bezpośrednio w komórkach, na pliku wystarczy wykonać prosty skrypt

cat Train.csv | tr "\n" " " | tr "\r" "\n" | head -n 6034196 > Train1.csv

#Zadanie 1b

##Importowanie Po wcześniejszym przygotowaniu pliku zabieramy się za import, podczas którego mierzymy czas za pomocą polecenia time

time mongoimport -d test -c train --type csv --headerline --file Train1.csv

##Czas i wyniki

import-result


#Zadanie 1c W zadaniu musimy zamienić listy tagów, na tablicę tagów, a następnie zliczyć wszystkie tagi i unikatowe tagi Program napisałem przy wykorzystaniu JavaScript, a uruchomiłem przy użyciu Node.js Do działania potrzebny jest tylko jeden dodatkowy moduł do obsługi mongodb

##Uruchomienie Plik package.json potrzebny do uruchomienia można znaleść tutaj package.json Plik źródłowy ze skryptem znajdziemy tutaj mongotrainer.js

Umieszczamy je oba w jednym katalogu i wpisujemy w konsoli npm install npm start

Program naprawia tagi, szukając odpowiedniego separatora do podziału, po naprawie tagi umieszczane są w tablicy którą zostanie nadpisana poprzednia lista tagów. Zanim tagi zostaną uaktualnione, program zlicza je, a także zapisuje częstotliwość występowania tagu. Jeśli aktualnie wszystkie tagi w bazie są już tablicami, program tylko liczy i wypisuje rezultat.

##Wynik tag-result

Unikatowe tagi liczę szukając tagów z pojedyńczym wystąpieniem w obiekcie z częstotliwością tagów

##Obciążenie Obciążenie komputera podczas działania programu jest dość spore, użycie zasobów interpretera JavaScript również na wysokim poziomie: usage


#Zadanie 1d Zadanie to polegało na zaimportowaniu słow z pliku, zliczeniu ich, zliczeniu unikatów i podaniu częstotliwości ich występowania. Plik z którego miał nastąpić import, najpierw musiałbyć sprawdzony skryptem który był wskazówką do zadania, u mnie wszystko przebiegło sprawnie.

##Import

time mongoimport -d test -c words -f word --type csv --file text8.txt

##Czas import-words

Zadanie przygotowałem w JavaScript przy wykorzystaniu Node.js, aby uruchomić skrypt należy przenieść plik word_counter.js do folderu roboczego z poprzedniego zadania i wpisać npm word_counter.js

##Wyniki import-words

Obciążenie serwera mongo podczas agregacji mongod-aggregate

#Zadanie 1e


#Zadanie 2 Mongo Zadanie wykonywane było na bazie GetGlue and Timestamped Event Data ważącej 11GB i mającej 19831300 rekordów. Plik dostępny był w formacie json. Baza zawiera dane z IMDB z lat 2007-2012.

Na początku dane trzeba było rozpakować.

tar -xf getglue_sample.tar.gz

Tak przygotowany plik json gotowy jest do importu

time mongoimport -d test -c movies --type json --file getglue_sample.json

##Wynik i czasy mongod-import2


##Agregacje

#Agregacja 1 Agregacja ta ma za zadanie policzyć ilość komentarzy przypadającej każdej z osób.

Kod skryptu: skrypt

##Wynik i czasy mongod-aggr1

##Wykres


#Agregacja 2 Agregacja ta ma za zadanie policzyć ilość filmów wyreżyserowanych przez każdego reżysera.

Kod skryptu: skrypt

##Wynik i czasy mongod-aggr2

##Wykres


#Zadanie 2 Elasticsearch