2015-09-11 28 views
5

Zaczynam się uczyć o dużych danych i Apache Spark i mam wątpliwości.Czy mogę uruchomić bazę danych serii czasowych (TSDB) przez Apache Spark?

W przyszłości będę musiał zbierać dane z IoT, a te dane będą dla mnie takie, jak time series data. Czytałem o bazach danych Time Series (TSDB) i znalazłem kilka opcji open-source takich jak Atlas, KairosDB, OpenTSDB, itp.

Potrzebuję Apache Spark, więc chcę wiedzieć: czy mogę używać serii czasowych Baza danych przez Apache Spark? Czy to ma jakiś sens? Proszę, pamiętajcie, że jestem nowy w koncepcji dużych zbiorów danych, Apache Spark i wszystkich spraw, o których mówiłem w tym pytaniu.

Jeśli mogę uruchomić TSDB na Spark, jak mogę to osiągnąć?

+0

powinny mieć możliwość, spojrzeć na https://spark.apache.org/docs/latest/api/ scala/inde x.html # org.apache.spark.sql.sources.package i implementacja taka jak https://github.com/databricks/spark-csv/blob/master/src/main/scala/com/databricks/spark/ csv/CsvRelation.scala - Nie znalazłem żadnego API Java OpenTSDB, więc możesz potrzebować kopania. – Reactormonk

+0

To interesujący temat, ale co masz na myśli przez 'TSDB over Spark'? Którą część przetwarzania danych czujnika musisz wykonać w bazie danych, a która część w Sparku? –

+1

Potrzebuję przechowywać wszystkie serie czasowe w dobrej bazie danych, a później potrzebuję Sparka, aby użyć jego algorytmu uczenia maszynowego w stosunku do tych danych. – Paladini

Odpowiedz

0

Jestem zawodnikiem OpenTSDB, wiem, że to stare pytanie, ale chciałem odpowiedzieć. Moja sugestia polegałaby na zapisaniu danych przychodzących do OpenTSDB, zakładając, że chcesz tylko przechowywać surowe dane i przetworzyć je później. Następnie za pomocą Sparka wykonaj zapytania OpenTSDB używając klas OpenTSDB.

Możesz pisać dane również z klasami, myślę, że chcesz użyć konstrukcji IncomingDataPoint, w rzeczywistości nie mam w tej chwili podanych danych. Zapraszam do kontaktu ze mną na liście mailingowej OpenTSDB, aby uzyskać więcej pytań.

Ci zobaczyć jak OpenTSDB obsługuje przychodzące „put” wniosek tutaj, powinieneś być w stanie zrobić to samo w kodzie dla pisze:

https://github.com/OpenTSDB/opentsdb/blob/master/src/tsd/PutDataPointRpc.java#L42

można zobaczyć projekt SPLICER Składając OpenTSDB zapytania tutaj podobny sposób mogą być wykorzystane w projekcie Spark myślę:

https://github.com/turn/splicer/blob/master/src/main/java/com/turn/splicer/tsdbutils/SplicerQueryRunner.java#L87