Python - Big Data - sugestie / pomysły na projekt

1

Ostatnio coraz częściej spotykam się z pojęciem Big Data, chciałbym nieco zgłębić temat w praktyce. Niestety z braku doświadczenia nie do końca wiem jaki sensowny projekt mógłby wykonać.

Co chciałbym wykorzystać w projekcie:

Pierwsze co przychodzi mi do głowy to stworzenie jakichś statystyk albo analizy (sentymentu etc.)

Czy ktoś zajmujący się przetwarzaniem dużych ilości danych byłby w stanie mnie nieco nakierować? Zależy mi na tym żeby wykorzystać wspomniane narzędzia w sposób właściwy a nie tylko je zaimplementować żeby coś tam zadziałało.

2

Proponuje wykorzystać api twittera i zrobić statystyki określonych tagów w określonym czasie oraz spróbować odczytać nacechowanie emocjonalne twittów z tymi tagami na podstawie określonych słów kluczowych: pozytywne, neutralne, negatywne.

0

Pomysł jak najbardziej mi odpowiada - mam pytanie co do flow.

Zbieram dane dla 3 tagów (nike, adidas, puma)

Pomysł jak najbardziej mi odpowiada - natomiast mam jeszcze parę pytań.

Rozumiem że pierwszy krok to:

  • ustawiam w cronie skrypt pobierający dane z API żeby na bieżąco zyskiwać nowe tweety (zapisuje je do bazy)

Mam w bazie dane i chcę zapytać o Tweety - dotyczące adidasa, wyłącznie z listopada

Moje pytanie
Na którym etapie filtruje dane?

  1. w momencie gdy odpytuję serwe (where hashtag = adidas) - ma to zrobić Apache Cassandra
  2. w momencie analizy przez Disco (wybieram tylko rekordy spełniające moje oczekiwania)
1

Apache Cassandra + Spark Cassandra Connector + Spark + Spark Streaming + MLLib i masz praktycznie wszystko czego dusza zapragnie :)

http://cassandra.apache.org/
https://spark.apache.org/
https://github.com/datastax/spark-cassandra-connector

A jak chcesz się tylko pobawić / testować to ściągasz DSE stąd i masz to wszystko zbundlowane z instalatorem gotowe do użycia, bez konieczności integrowana sobie samemu:

http://www.datastax.com/download

Co do pytań:
Nowe tweety możesz wpychać przez Spark Streaming, analizować Sparkiem i na końcu zapisywać w Cassandrze. W konektorze do sparka jest demko pokazujące jak to zrobić (TwitterStreamingApp). Później to co zapiszesz w Cassandrze możesz dalej obrabiać Sparkiem wsadowo np. za pomocą SQLa lub z użyciem MLLib, GraphX, SparkR i innych nakładek.

0

Jak piszesz na temat, to pisz w poście, nie komentarzu.

@Krolik - chciałbym doprecyzować - lepiej pobrać z bazy danych więcej danych i obrobić je w Spark czy jednak użyć jakichś warunków WHERE przy wyciąganiu danych. Chodzi mi o to gdzie jest ta granica - że to jeszcze wybierzemy na poziomie bazy danych a to już wyselekcjonujemy w Sparku

Lepiej pobrać z bazy mniej danych używając where. Spark-Cassandra connector potrafi wykonać where równolegle na wielu węzłach klastra. Tyle, że nie każde where jest obsługiwane przez Cassandrę - wyszukiwanie po kluczu partycjonującym, kolumnach klastrujących albo kolumnach zaindeksowanych ma sens, pozostałe warunki i tak Ci nie pójdą na Cassandrze i będziesz musiał zrobić je w Sparku.

BTW: SparkSQL na Cassandrze automatycznie decyduje, co wypchnąć do where, a co robić w Sparku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1