Scala Spark流的restapi
我正在处理一个用例,在这个用例中,我必须使用spark流作业从kafka主题中读取(id、标记和类型值,用管道分隔)。 使用上述值,我必须进行RESTAPI调用,以提取属于id的数据 我正在使用下面的代码,我能够获得json格式的数据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
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
仅在您希望收集所有数据时才可用