2015-09-11 17 views
5

Tôi bắt đầu tìm hiểu về dữ liệu lớn và Apache Spark và tôi có nghi ngờ.Tôi có thể chạy Cơ sở dữ liệu chuỗi thời gian (TSDB) trên Apache Spark không?

Trong tương lai, tôi cần thu thập dữ liệu từ IoT và dữ liệu này sẽ đến với tôi dưới dạng time series data. Tôi đã đọc về Cơ sở dữ liệu chuỗi thời gian (TSDB) và tôi đã tìm thấy một số tùy chọn nguồn mở như Atlas, KairosDB, OpenTSDB, v.v.

Tôi thực sự cần Apache Spark, vì vậy tôi muốn biết: Tôi có thể sử dụng chuỗi thời gian không Cơ sở dữ liệu qua Apache Spark? Nó có ý nghĩa gì không? Xin hãy nhớ rằng tôi rất mới với các khái niệm về dữ liệu lớn, Apache Spark và tất cả các vấn đề mà tôi đã nói trong câu hỏi này.

Nếu tôi có thể chạy TSDB trên Spark, làm thế nào tôi có thể đạt được điều đó?

+0

bạn sẽ có thể, hãy nhìn vào https://spark.apache.org/docs/latest/api/ scala/inde x.html # org.apache.spark.sql.sources.package và triển khai như https://github.com/databricks/spark-csv/blob/master/src/main/scala/com/databricks/spark/ csv/CsvRelation.scala - Tôi chưa tìm thấy bất kỳ API Java OpenTSDB nào, vì vậy bạn có thể cần phải đào bới. – Reactormonk

+0

Đó là một chủ đề thú vị, nhưng bạn có ý nghĩa gì bởi 'TSDB trên Spark'? Phần nào của xử lý dữ liệu cảm biến bạn cần thực hiện trong cơ sở dữ liệu và phần nào trong Spark? –

+1

Tôi cần phải lưu trữ tất cả các chuỗi thời gian trong một cơ sở dữ liệu tốt và sau đó tôi sẽ cần Spark để sử dụng thuật toán Machine Learning của nó trên dữ liệu này. – Paladini

Trả lời

0

Tôi là người bắt đầu OpenTSDB, tôi biết đây là câu hỏi cũ nhưng tôi muốn trả lời. Đề xuất của tôi là viết dữ liệu đến OpenTSDB của bạn, giả sử bạn chỉ muốn lưu trữ dữ liệu thô và xử lý nó sau này. Sau đó, với Spark, thực hiện các truy vấn OpenTSDB bằng cách sử dụng các lớp OpenTSDB.

Bạn cũng có thể ghi dữ liệu với các lớp, tôi nghĩ bạn muốn sử dụng cấu trúc IncomingDataPoint, tôi thực sự không có chi tiết trong lúc này. Vui lòng liên hệ với tôi trên danh sách gửi thư OpenTSDB để biết thêm câu hỏi.

Bạn một xem có bao OpenTSDB xử lý đến "đặt" theo yêu cầu ở đây, bạn sẽ có thể làm điều tương tự trong mã của bạn để viết:

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

Bạn có thể xem dự án Splicer trình OpenTSDB truy vấn ở đây, một phương pháp tương tự có thể được sử dụng trong dự án Spark của bạn tôi nghĩ:

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

Các vấn đề liên quan