我正在尝试使用Spark Streaming和Kafka来提取和处理从Web服务器收到的消息。
我正在测试https://github.com/dibbhatt/kafka-spark-consumer/blob/master/README.md中提到的消费者,以利用它提供的额外功能。
作为第一步,我试图使用提供的示例来查看它是如何发挥作用的。但是,我在实际看到有效载荷中的数据时遇到了困难。
查看以下函数的结果:
ReceiverLauncher.launch
我可以看到它返回一个RDD集合,每个类型为:
MessageAndMetadata[Array[Byte]]
我现在陷入困境,并且不知道如何解析这个并查看实际数据。 Web上使用Spark附带的使用者的所有示例都会创建一个迭代器对象,遍历它并处理数据。但是,来自此自定义使用者的返回对象并不能为我提供任何迭代器接口。
RDD中有getPayload()
方法,但我不知道如何从中获取数据。
我的问题是:
这个消费者真的是生产环境的好选择吗?从它的外观来看,它提供的功能和它提供的抽象似乎非常有前景。
有人试过吗?有人知道如何获取数据吗?
提前致谢,
萌
答案 0 :(得分:-1)
getPayload()转换为String,例如
new String(line.getPayload())