Nasz Proof of Concept na targach CeBIT!
Liczni specjaliści zainteresowani odbywającą się na naszych oczach rewolucją technologiczną, prześcigają się w statystykach dotyczących ilości danych generowanych przez ludzkość w najbliższych latach. Przetwarzanie tak wielkich zasobów informacji staje się w tym kontekście wielkim wyzwaniem.
Do problemów, które powinny zostać zaadresowane podczas przeprowadzania operacji na tzw. Big Data zalicza się:
- Uniemożliwienie zapisu informacji do klasycznych, relacyjnych baz danych, a także przeprowadzenie analiz prowadzących do istotnych biznesowo informacji powodowane ich nieustrukturyzowaną formą
- Potrzeba przetwarzania strumieni danych „na żywo”, z czym nie radzą sobie dotychczasowe rozwiązania Business Intelligence
- Składowanie dużej liczby źródeł i ilości danych w rozwiązaniach Data Warehouse staje się zbyt kosztowne i nieefektywne
Istotne źródło, z którego mogą zostać pozyskane informacje (przykładowo dotyczące opinii o produktach i obowiązujących trendów), mające dużą wartość dla działów marketingu, stanowią media społecznościowe. Język naturalny (szczególnie jego nieoficjalna forma), najczęściej występujący platformach typu Twitter i Facebook, okazuje się problematyczny w analizie. Mimo to, ze względu na znaczenie treści pojawiających się w nim oraz coraz większa konieczność strukturyzacji informacji, przetwarzanie tego typu danych, jest obecnie jedną z najszybciej rozwijających się gałęzi szeroko pojętego Big Data.
W Apollogic nieustannie śledzimy rynek w poszukiwaniu najlepszych rozwiązań, które mogą zostać wykorzystane przy realizacji przyszłych projektów. Z tego względu, podczas tegorocznej edycji targów informatycznych CeBIT w Hannoverze, przeprowadziliśmy PoC (Proof of Concept), mający na celu przetestowanie najnowszych technologii Big Data, umożliwiających efektywne przetwarzanie nieustrukturyzowanych danych.
Projekt miał na celu przeprowadzenie analizy Tweetów, pojawiających się w sieci podczas jednych z największych targów technologicznych na świecie. Miała ona dać odpowiedź na pytanie, jakie narzędzia i trendy w IT są najgoręcej dyskutowane oraz ocenić wydźwięk opinii.
W trakcie trwania wydarzenia opublikowanych zostało niemal 50 tysięcy postów na Twitterze z nim związanych. Aby przeprowadzić wszystkie potrzebne operacje utworzony został klaster komputerowy, na którym zainstalowano środowisko złożone z takich narzędzi jak:
- Apache Spark
- Apache Hadoop
- Elasticsearch
Takie połączenie pozwoliło uzyskać wysoką wydajność i wygodę w przetwarzaniu danych.
Na szczególną uwagę zasługują biblioteki oferowane przez narzędzie Apache Spark. Skorzystanie ze Spark Streaming umożliwia łatwe wykonywanie kosztownych dla pamięci komputera operacji na strumieniu danych. Reprezentacja zbioru danych, która w Apache Spark pozwala na jego rozproszenie wśród dużej ilości maszyn nosi nazwę RDD (Resilient Distributed Dataset). Graficzną reprezentację architektury strumienia danych Spark Streaming dobrze oddaje poniższy rysunek:
Bardzo przydatnym rozwiązaniem okazuje się również biblioteka DataFrames. Jest to zbiór danych, który może zostać utworzony na podstawie różnych źródeł np. JSON, reprezentujący je w postaci kolumnowej. Pozwala to na wykonywanie klasycznych zapytań SQL. W znaczący sposób przyspiesza i ułatwia to pracę na danych, a także łączenie ich z różnych źródeł.
Dzięki tak dobranemu zestawowi narzędzi możliwe było szybkie i skuteczne przeprowadzenie projektu. Niemniej, przetwarzanie języka naturalnego nadal pozostawia wiele możliwości, które z biegiem czasu i pojawianiem się na rynku coraz lepszych rozwiązań z pewnością będą wykorzystywane.
- On 15/04/2016
0 Comments