kafka使用者的控制台如下所示:
["2017-12-31 16:06:01", 12472391, 1]
["2017-12-31 16:06:01", 12472097, 1]
["2017-12-31 16:05:59", 12471979, 1]
["2017-12-31 16:05:59", 12472099, 0]
["2017-12-31 16:05:59", 12472054, 0]
["2017-12-31 16:06:00", 12472318, 0]
["2017-12-31 16:06:00", 12471979, 0]
我想使用pyspark在指定时间段后获取列表中的每个值或这些值的df。
我尝试过的事情:
sc = SparkContext(appName='PythonStreamingDirectKafka')
sc.setLogLevel("WARN")
spark = SparkSession(sc)
ssc = StreamingContext(sc, 10)
brokers, topic = sys.argv[1:]
kvs = KafkaUtils.createDirectStream(ssc, [topic],
{'metadata.broker.list': brokers})
lines = kvs.map(lambda x: x[1])
text = lines.flatMap(lambda line: line.split(" ")).pprint()
ssc.start()
ssc.awaitTermination()
上面的文本变量是一个Dstream对象,我不知道如何操作或转换它。浏览了许多博客和文档。
我想将信息提取到python列表或pandas df中,以便可以对其进行操作
非常感谢您的帮助。谢谢〜