我需要在读取eventhub时解析body中的数组类型。我们有嵌套的json消息,但无法解析相同的消息:
{“name”:“rohit”,“salary”:“29292”,“empid”:12,“projects”:[{“projectid”:“9191”,“projectname”:“”,“duration”:“79”},{“projectid”:“9192”,“projectname”:“xyz”,“duration”:“75”}]}
我试图用下面的方法修改模式:但是似乎有一些问题。
val testSchema = new StructType()
.add("Name", StringType)
.add("Salary", StringType)
.add("EmpID", StringType)
.add("Projects", new ArrayType(new StructType()
.add("ProjectID", StringType)
.add("ProjectName", StringType)
.add("Duration", StringType)))
任何帮助都将不胜感激。
1条答案
按热度按时间flvlnr441#
如果没有确切的错误,很难说,但是看起来您在模式定义中有一个错误-您需要修改模式以添加指定数组元素是否可以为null的标志(请参阅
true
嵌套结构类型后的标志)。直接读取json或从字符串转换json时,以下模式可以正常工作: