Spark:从REST服务创建RDD

5

Spark是否有开箱即用的功能可将RDD绑定到REST服务?也就是说,调用Web服务并获取一个RDD。

或者,最简单的方法是自己调用REST服务,然后将结果集转换为RDD吗?

谢谢。


找到相关的资料了吗?我正在寻找类似的东西,希望能在我的Web服务返回的JSON数据上使用Spark SQL。 - Anand Nadar
没有进一步调查,但我猜只需自己动手(创建一个包装器)...认为这并不难做... - Marco
2个回答

0

我使用 Jersey 客户端,读取一个字符串(每行一个完整的 JSON 文档),并使用该字符串执行以下操作:

val stringResponse = request.request().get(classOf[String])
val jsonDataset = session.createDataset[String](Seq(stringResponse))
// try with case class
val parsedResponse = session.read.json(jsonDataset)

...这将生成一个DataFrame,您可以在其上选择内容。


-2

您可以参考链接Spark-Jobserver

我认为您正在寻找的Spark-Jobserver的一些特点包括:

  • "Spark作为服务":简单的REST接口用于所有作业和上下文管理
  • 启动和停止作业上下文以进行RDD共享和低延迟作业;重新启动时更改资源
  • 异步和同步作业API。同步API非常适合低延迟作业!
  • 命名RDD可通过名称缓存和检索RDD,提高RDD在作业之间的共享和重复使用。

希望这有所帮助。


2
OP正在寻找一种将Web服务数据读入Spark作为RDD的方法。 - Babar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接