我对 Spark 非常陌生,并且有一个特定的工作流程相关问题。虽然它并不是真正与编码相关的问题,但它更像是与 Spark 功能相关的问题,我认为它在这里是合适的。如果您认为这个问题不适合,请随时将我重定向到正确的网站。
所以这里是:
1. 我计划使用 Spark 的滑动窗口功能使用请求流并计算推荐模型。一旦计算出模型,Web 服务是否可以直接从 RDD 查询和使用这些数据?如果是这样,有人可以向我指出一些如何实现这一目标的示例代码吗?
- 如果没有,我想将数据存储在memcached中,因为我存储的数据目前不是太大,主要是为了内存中迭代计算和流支持目的,我正在使用Spark,那么是否可以将RDD数据加载到memcached中?我这么问是因为我只能找到 Spark 的 Mongo 连接器,而找不到 Memcached 连接器。
任何帮助,特别是具体的代码示例/链接将不胜感激。
提前致谢。
您不能以这种方式直接查询 RDD。将您的 Spark 作业视为流处理器。您可以做的是将更新后的模型推送到某个“存储”,例如数据库(使用自定义 API 或 JDBC)、文件系统或 memcached。您甚至可以从 Spark 代码中进行 Web 服务调用。
无论您做什么,请注意处理每批数据(包括 I/O)的时间远低于您指定的间隔时间。否则,您将面临可能最终崩溃的瓶颈风险。
另一件需要注意的事情是,您的模型数据分布在集群中的多个 RDD 分区中(当然这是默认情况)。如果“记录”的顺序并不重要,那么并行写出它们就可以了。如果您需要按顺序写出的特定总顺序(并且数据确实不大),请调用collect
将它们放入驱动程序代码内的一个内存数据结构中(这意味着分布式作业中的网络流量),然后从那里写入。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)