如何解决如何将json日志读取到数据框?
我下面有实时流日志类型,其中包含文本类型和json类型。
2020-09-24T08:03:01.633Z 11.21.23.1 {"EventTime":"2020-09-24 13:33:01","Hostname":"abc-cde.india.local","Keywords":-1234}
我使用下面的结构来读取上面的日志,而没有添加条件来专门读取json,
schema =
StructType(StructField("Date",DateType()),StructField("Source IP",StringType()),StructField("Evenet Type",StringType())
)
df = session.read.option("header","true").option("delimiter"," ").csv( "F:\\mypath\\ad_logs.txt",schema=self.schema) df.show()
所以DF返回为
| Date |Source IP | Event Type
2020-09-24|11.21.23.1 |{"EventTime":"202
我想到了通过仅解析“事件类型”(单独使用某些方法,例如“ udf”)来为json值创建实际的模式,
但不确定这种情况是否正确。
我认为,由于我们已经了解json模式的结构,因此可以在读取文件本身时对其进行解析。
#so预期的输出将具有
| Date | Source IP | EventTime | Hostname |Keywords |
2020-09-24|11.21.23.1 |2020-09-24 13:33:01| abc-cde.india.local | 1234
我正在寻找一种为以下类型创建结构化DF的方法,如果还有其他建议,那也将不胜感激。
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。