spark struct java_java - 如何在Spark Java中创建复杂的StructType模式 - 堆栈内存溢出

本文介绍了如何在Spark Java中为复杂数据结构定义StructType,特别是处理包含嵌套JSON的对象。作者遇到的问题是在尝试将JavaRDD转换为DataFrame时遇到了堆栈溢出异常。他们创建了包含姓名、地址、ID和报告卡的结构,并为报告卡字段定义了一个嵌套的StructType。尽管如此,转换过程还是失败了,抛出了一个错误,指出字符串不是外部类型的struct。
摘要由CSDN通过智能技术生成

如何在Spark Java中使用StructType为以下数据定义数据类型

sam|mars|1234567|"report": {"Details": [{"subject": "science","grade": "A","remark": "good"},{"subject": "maths","grade": "E","remark": "excellent"},{"subject": "geography","grade": "E","remark": "excellent"}]}

harry|venus|987654|"report": {"Details": [{"subject": "science","grade": "O","remark": "outstanding"},{"subject": "history","grade": "A","remark": "good"}]}

字段是:NAME,ADDRESS,ID,REPORTCARD

我有以下代码:

JavaRDD row = javaRDD.map(new Function(){

@Override

public Row call(String line) throws Exception {

return RowFactory

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值