2017-12-05 25 views
10

Jak mogę wysłać dane z mojego zadania strumieniowania iskier, aby otworzyć bazę danych tsdb? Próbuję użyć open tsdb jako źródła danych w Grafana. Czy możesz mi pomóc z referencjami, od których mogę zacząć.Wysyłanie danych strumieniowych Spark, aby otworzyć tsdb

Widzę tutaj otwarty reporter tsdb, który wykonuje podobną pracę. Jak mogę zintegrować dane z zadania strumieniowania Spark, aby z niego skorzystać? Czy jest jakiś łatwy sposób na zrobienie tego.

Odpowiedz

5

Jednym ze sposobów wysłania danych do opentsdb jest użycie ich REST API. Aby z niego skorzystać, wystarczy przekonwertować metryki na ciągi JSON, a następnie wykorzystać bibliotekę klienta Apache Http do wysłania danych (jest to w języku Java i dlatego może być używane w scala). Przykładowy kod można znaleźć na stronie github.


Bardziej eleganckim rozwiązaniem byłoby użycie biblioteki danych Spark i dodanie umywalki do bazy danych. Do dodania zlewni OpenTSDB do biblioteki danych Spark dodano discussion, ale ostatecznie nie została ona dodana do samego Sparka. Kod jest dostępny pod numerem github i powinien być możliwy do użycia. Unfortunalty kod jest zgodny na Spark 1.4.1, jednak w najgorszym przypadku nadal powinno być możliwe uzyskanie pewnych wskazówek, co jest konieczne do dodania.

+0

Dziękuję. Znalazłem to wcześniej. Ale nie mogłem użyć tego samego. Stworzyłem inny projekt Scala tylko z tą klasą opentsdbSink. Próbowałem utworzyć z niego słoik i włączyć go do bieżącego zadania strumieniowania iskry Java. Wciąż dostaję błędy takie jak "Sink klasy org.apache.spark.metrics.sink.OpenTsdbSink nie można utworzyć instancji java.lang.NoSuchMethodException: org.apache.spark.metrics.sink.OpenTsdbSink. (java.util.Properties, com .codahale.metrics.MetricRegistry, org.apache.spark.SecurityManager) ". Jaka byłaby twoja rada dla mnie na początek? – Passionate

+0

Czy istnieje szybki sposób na uzyskanie tych danych, aby otworzyć tsdb zamiast korzystać z tej biblioteki metryk? Prawdopodobnie coś wokół postów HTTP? – Passionate

+0

Również nie znajduję pakietu org.apache.spark.metrics z różnymi zlewami w Spark 2.2, którego używam. Czy domyślnie domyślnie te starsze pakiety są dostępne w wersji 2.2, o ile nie wspomniano o tym? Nie mogłem go znaleźć w dokumentacji biblioteki Spark 2.2. – Passionate

Powiązane problemy