2015-11-06 33 views
1

目前,我已將Spark Stream與Kafka集成到Java中,並能夠彙總統計信息。但是,我無法找到將結果存儲到Java對象的方法,因此我可以使用不同的方法/類將結果傳遞給對象,而無需將它們存儲到數據庫中。我花了相當長的時間在線搜索教程/示例,但所有這些最終都使用print()在控制檯中顯示結果。但是,我想要做的是在用戶調用rest-api端點時返回這些結果的JSON字符串。將Spark Stream中的結果提取到Java對象中

是否有可能讓這些結果在內存中,並用不同的方法傳遞給它們,或者我需要先將它們存儲到數據庫中,然後根據需要從中獲取它們?

回答

0

如果我明白你的意思,你想通過Rest API使用Spark Streaming的結果。

即使有一些方法可以直接完成此操作(例如使用Spark SQL/Thrift服務器),我會分開這兩個任務。否則,如果您的Spark Streaming流程失敗,則您的服務/ REST-API層也會失敗。

因此,將這兩層分開有其優點。你不會被迫使用經典的數據庫。您可以實現一個服務,該服務實現/使用JCache並將Spark流處理結果發送給它。