2015-09-11 17 views
5

私は大きなデータとApache Sparkについて学び始めており、疑問があります。Apache Sparkで時系列データベース(TSDB)を実行できますか?

将来的にはIoTからデータを収集する必要があり、このデータはtime series dataとして私に届きます。

私は実際にはApacheのスパークを必要とするので、私は知りたい私は、時系列データベースについて読んでいた(TSDB)と私はなどアトラス、KairosDB、OpenTSDB、のようないくつかのオープンソースのオプションを発見した:私は時系列を使用することができますApache Spark上のデータベース?何か意味がありますか?私は大きなデータ、Apache Sparkの概念、そして私がこの質問で話したすべての事項について非常に新しいことを覚えておいてください。

SparkでTSDBを実行できるのであれば、どうすればいいですか?

+0

:ここでは、クエリ、同様の方法は、私が思うあなたのスパークプロジェクトで使用することができますスカラ/独立x.html#org.apache.spark.sql.sources.packageおよびhttps://github.com/databricks/spark-csv/blob/master/src/main/scala/com/databricks/spark/などの実装csv/CsvRelation.scala - OpenTSDB Java APIが見つかりませんでしたので、掘り起こす必要があります。 – Reactormonk

+0

これは興味深い話題ですが、 'TSDB over Spark'はどういう意味ですか?どのセンサデータ処理の部分をデータベースで実行する必要があり、どの部分をSparkで実行する必要がありますか? –

+1

私は良いデータベースにすべての時系列を保存する必要があり、後で私はこのデータを介して機械学習アルゴリズムを使用するためにスパークが必要になります。 – Paladini

答えて

0

私はOpenTSDBのコミッタです。これは古い質問ですが、私は答えたいと思っています。生データを保存して後で処理したいと仮定して、受信データをOpenTSDBに書き込むことをお勧めします。次に、Sparkを使用して、OpenTSDBクラスを使用してOpenTSDBクエリを実行します。

クラスを使用してデータを書き込むこともできますが、IncomingDataPointコンストラクトを使用したいと思います。現時点では実際には詳細がありません。詳細はOpenTSDBメーリングリストにお問い合わせください。

あなたは書き込みのために、あなたのコード内で同じことを行うことができるはず、OpenTSDBがここに入ってくる「置く」のリクエストを処理する方法を参照してください。

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

あなたはOpenTSDBを提出スプライサープロジェクトを見ることができますあなたは、https://spark.apache.org/docs/latest/api/を見てみましょうことができるはず

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