从星火消费者中的kafka生产者那里获得的价值总和

时间:2018-06-22 12:07:49

标签: apache-spark spark-streaming kafka-producer-api

我正在尝试处理从upstox收到的实时供稿。我需要实时出价的所有出价和要价。实时供稿还有许多其他内容以及出价和要价,是否有可能每10秒获得一次出价的所有数量,价格和订单的总和。以下代码

val brokers = util.Try(args(0)).getOrElse("localhost:9092")
val inTopic = util.Try(args(1)).getOrElse("live-feed")

val sparkConf = new SparkConf()
val spark = new SparkContext(sparkConf)
val streamCtx = new StreamingContext(spark, Seconds(10))


val inTopicSet = Set(inTopic)
val kafkaParams = Map[String, String](
  "bootstrap.servers" -> brokers,
  "key.deserializer" -> "org.apache.kafka.common.serialization.StringDeserializer",
  "value.deserializer" -> "org.apache.kafka.common.serialization.StringDeserializer"
)

val msg = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](
  streamCtx,
  kafkaParams,
  inTopicSet
)

msg.print()

streamCtx.start()
streamCtx.awaitTermination()

让我输出如下内容:

[{"timestamp":"1529642738000","exchange":"NSE_EQ","symbol":"RELIANCE","ltp":"1014.4","bids":[{"quantity":"191","price","1014.4","orders","3"}]},...]

我用过

val comp1 = value.map(x => x.split(“,”)(19))

获取数量,但是仍然不知道如何获取所需的输出。任何指导将不胜感激。

0 个答案:

没有答案