Scala Spark流的restapi

Scala Spark流的restapi,scala,apache-spark,apache-kafka,spark-streaming,Scala,Apache Spark,Apache Kafka,Spark Streaming,我正在处理一个用例,在这个用例中,我必须使用spark流作业从kafka主题中读取(id、标记和类型值,用管道分隔)。 使用上述值,我必须进行RESTAPI调用,以提取属于id的数据 我正在使用下面的代码,我能够获得json格式的数据 val httpget = new HttpGet("///////"); val httpParams = httpClient.getParams HttpConnectionParams.setConnectionTimeout(httpP

我正在处理一个用例,在这个用例中,我必须使用spark流作业从kafka主题中读取(id、标记和类型值,用管道分隔)。 使用上述值,我必须进行RESTAPI调用,以提取属于id的数据

我正在使用下面的代码,我能够获得json格式的数据

 val httpget = new HttpGet("///////");
    val httpParams = httpClient.getParams
    HttpConnectionParams.setConnectionTimeout(httpParams,timeoutConnection)
    val httpResponse = httpClient.execute(httpget)

    println(httpResponse.getStatusLine().getStatusCode)
     val entity = httpResponse.getEntity()
    var content = ""
    if (entity != null) {
      val inputStream = entity.getContent()
      content = scala.io.Source.fromInputStream(inputStream).getLines.mkString
      inputStream.close
    }
我这里的问题是在dStream.foreachRDD()块中使用此逻辑并有效地解析json内容


任何帮助都将不胜感激。

为什么Spark流媒体使用HTTP GET?就像我说的,我将实时数据输入kafka主题。kafka中的数据只包括用户id。使用这个id,我必须调用RESTAPI来获取用户的记录。我认为您需要使用
DStream.map
,然后“增加”数据
foreachRDD
仅在您希望收集所有数据时才可用