

Globalna Grupa ABD
Globalna Grupa jest jak rynek, na którym możemy się wszyscy spotkać. To tutaj możemy podzielić się... View more
Zadanie tygodnia: Analizator logów
-
Zadanie tygodnia: Analizator logów
Hej! Otwieram wątek dot. aktualnego zadania tygodnia. Chcę podsunąć kilka elementów i zachęcić do wykonania zadania, bo testuje ono nasze umiejętności programistyczne;-)
Przypominam skrót polecenia:
Mamy plik z logami i chcemy wykonać analizę. Dokładne elementy analizy są podane na stronie z zadaniem tygodnia.
Jednak niezależnie od tego czy wybierzemy pythona czy scalę, może się pojawić się wątpliwość “od czego w ogóle zacząć?”. W załączniku wrzucam jak wygląda fragment tego pliku.
Kilka punktów, które warto wziąć pod uwagę:
- Plik z logami to plik tekstowy. On sam w sobie nie ma żadnej struktury poza tym, że kolejne dane są zapisywane w nowych linijkach.
- W związku z tym wczytujemy kolejne linijki i dodajemy do np. listy/tablicy (grunt, żebyśmy mieli kolejność, choć w naszym przypadku i ona nie ma znaczenia)
- Gdy już mamy linijki jako osobne rekordy kolekcji (typ: String), mamy już pierwszą strukturę! Teraz warto to rozbić – zauważmy, że te dane są oddzielone przecinkami. Możemy więc podzielić stringa na kilka osobnych elementów poprzez split przecinkiem. W efekcie pojawia nam się lista gdzie każdy element jest kolejną listą/tablicą stringów
- Zamieniamy typy – ze stringów warto zbudować osobne typy. Możemy to zrobić albo przez jakąś sprytną pętlę, albo jakiś mechanizm tworzący listę obiektów klasy “Log” – wcześniej tworzymy taką klasę i jako konstruktor możemy utworzyć funkcje przyjmującą listę stringów, a wewnątrz niej zamieniać je na odpowiednie typy.
- Na koniec dostajemy pięknie przygotowaną listę elementów które możemy przeanalizować. Teraz warto zacząć to robić klasycznymi funkcjami, jakie daje nam wybrany język:-)
Jeśli macie pytania – wrzucajcie śmiało. Albo swoje pomysły czy rozwiązania – nauczmy się wszyscy:-).
To fajne ćwiczenie, bo nie jest ani długaśne ani banalne. Jednocześnie dokładnie to potem robimy jako inżynierowie danych, tylko z wykorzystaniem frameworków typu Apache Spark:-)
-
This discussion was modified 17 hours, 58 minutes ago by
Marek Czuma.
Sorry, there were no replies found.
Zaloguj się aby odpowiedzieć