来自kafka队列的数据将是一行界定的json字符串,如下所示
{ “报头”:{ “平台”: “大气压”, “信息类型”: “1”, “版本”: “1.0”}, “详细信息”:[{ “BCC”: “5814”,“DSRC “:” A”, “辅助”: “5678”},{ “BCC”: “5814”, “DSRC”: “A”, “中间”: “0003”},{ “BCC”: “5812”, “DSRC”: “A”, “中间”: “0006”}]}
{ “报头”:{ “平台”: “大气压”, “信息类型”: “1”, “版本”: “1.0”}, “详细信息”:[{ “BCC”: “5814”,“DSRC “:” A”, “辅助”: “1234”},{ “BCC”: “5814”, “DSRC”: “A”, “中间”: “0004”},{ “BCC”: “5812”, “DSRC”: “A”, “中间”: “0009”}]}
{ “报头”:{ “平台”: “大气压”, “信息类型”: “1”, “版本”: “1.0”}, “详细信息”:[{ “BCC”: “5814”,“DSRC “:” A”, “辅助”: “1234”},{ “BCC”: “5814”, “DSRC”: “A”, “中间”: “0004”},{ “BCC”: “5812”, “DSRC”: “A”, “中间”: “0009”}]}
我们如何在python中为上述输入创建数据帧?我有很多列来访问上面只是一个样本,数据总共有23列。对此的任何帮助将不胜感激。
答案 0 :(得分:0)
您正在寻找pyspark.sql.SQLContext.jsonRDD。由于Spark流是批量处理的,因此您的流对象将返回一系列RDD,每个RDD都可以通过jsonRDD
制作DF。