将 spark 数据加载到 Mongo/Memcached 以供 Web 服务使用
Load spark data into Mongo / Memcached for use by a Webservice
我是 spark 的新手,有一个特定的工作流程相关问题。虽然这实际上不是一个与编码相关的问题,但它更像是一个与 spark 功能相关的问题,我认为它在这里是合适的。如果您认为这个问题不适合 SO,请随时将我重定向到正确的站点。
所以这里是:
1. 我计划使用 Spark 的滑动 Window 功能来处理请求流并计算推荐模型。一旦计算出模型,Web 服务是否可以直接从 RDD 查询和使用这些数据?如果是这样,谁能指出我如何实现这一点的一些示例代码?
- 如果没有,我想将数据存储在memcached中,因为我存储的数据目前不是太大,主要是为了我使用Spark的内存迭代计算和流式支持目的,那么是否可以将 RDD 数据加载到 memcached 中?我问是因为我只能找到 Spark 的 Mongo 连接器而找不到 Memcached 连接器。
非常感谢任何帮助,尤其是具体的代码示例/链接。
提前致谢。
您不能通过这种方式直接查询RDD。将您的 Spark 作业视为流处理器。您可以做的是将更新后的模型推送到某些 "store",例如数据库(具有自定义 API 或 JDBC)、文件系统或 memcached。您甚至可以从 Spark 代码中进行 Web 服务调用。
无论您做什么,请注意处理每批数据(包括 I/O)的时间要远低于您指定的间隔时间。否则,您可能会面临最终崩溃的瓶颈。
另一件需要注意的事情是您的模型数据分布在集群中的多个 RDD 分区中(当然这是默认设置)。如果 "records" 的顺序无关紧要,那么将它们并行写出来就可以了。如果您需要按顺序写出特定的总订单(并且数据确实不大),请调用 collect
将它们放入驱动程序代码中的一个内存数据结构中(这意味着分布式网络流量工作),然后从那里开始写。
我是 spark 的新手,有一个特定的工作流程相关问题。虽然这实际上不是一个与编码相关的问题,但它更像是一个与 spark 功能相关的问题,我认为它在这里是合适的。如果您认为这个问题不适合 SO,请随时将我重定向到正确的站点。
所以这里是: 1. 我计划使用 Spark 的滑动 Window 功能来处理请求流并计算推荐模型。一旦计算出模型,Web 服务是否可以直接从 RDD 查询和使用这些数据?如果是这样,谁能指出我如何实现这一点的一些示例代码?
- 如果没有,我想将数据存储在memcached中,因为我存储的数据目前不是太大,主要是为了我使用Spark的内存迭代计算和流式支持目的,那么是否可以将 RDD 数据加载到 memcached 中?我问是因为我只能找到 Spark 的 Mongo 连接器而找不到 Memcached 连接器。
非常感谢任何帮助,尤其是具体的代码示例/链接。
提前致谢。
您不能通过这种方式直接查询RDD。将您的 Spark 作业视为流处理器。您可以做的是将更新后的模型推送到某些 "store",例如数据库(具有自定义 API 或 JDBC)、文件系统或 memcached。您甚至可以从 Spark 代码中进行 Web 服务调用。
无论您做什么,请注意处理每批数据(包括 I/O)的时间要远低于您指定的间隔时间。否则,您可能会面临最终崩溃的瓶颈。
另一件需要注意的事情是您的模型数据分布在集群中的多个 RDD 分区中(当然这是默认设置)。如果 "records" 的顺序无关紧要,那么将它们并行写出来就可以了。如果您需要按顺序写出特定的总订单(并且数据确实不大),请调用 collect
将它们放入驱动程序代码中的一个内存数据结构中(这意味着分布式网络流量工作),然后从那里开始写。