我非常新兴,并且有一个特定的工作流程相关问题。虽然它不是一个与编码相关的问题,但它更像是一个与火花功能相关的问题,我认为这是合适的。如果您认为此问题不适合SO,请随时将我重定向到正确的网站。
所以这里: 1.我计划使用Spark的Sliding Window功能消耗一组请求并计算推荐模型。计算模型后,Web服务是否可以直接从RDD查询和使用此数据?如果是这样,有人能指出我如何实现这一目标的示例代码吗?
非常感谢任何帮助,尤其是特定的代码示例/链接。
提前致谢。
答案 0 :(得分:1)
您无法以这种方式直接查询RDD。将您的Spark作业视为流处理器。您可以做的是将更新的模型推送到某个“商店”,例如数据库(使用自定义API或JDBC),文件系统或memcached。您甚至可以在Spark代码中进行Web服务调用。
无论您做什么,请注意处理每批数据(包括I / O)的时间远远低于您指定的间隔时间。否则,您可能会遇到可能最终崩溃的瓶颈。
另一件需要注意的事情是,您将模型数据放在群集上的多个RDD分区中(当然这是默认设置)。如果你的“记录”的顺序无关紧要,那么将它们并行写出就可以了。如果您需要按顺序写出特定的总订单(而且数据确实不大),请调用collect
将它们放入驱动程序代码中的一个内存数据结构中(这意味着分布式网络中的网络流量)工作),然后从那里写。