使用Java写入ORC文件重复字符串列后读取出现空指针异常的问题求助
Java写入ORC文件重复字符串列后读取出现空指针异常的问题求助
大家好,我最近在用Java处理ORC文件的时候碰到了一个棘手的问题:当我尝试给字符串列的每一行都写入相同的固定值时,只有第一行能正常读出这个值,读取剩下的行时直接触发了空指针异常。有没有小伙伴遇到过类似的情况?求帮忙给个解决方案!
我的ORC Writer核心代码片段如下(代码没贴全,主要用到了Vectorized相关的类):
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector; import org.apache.hadoop.hive.ql.exec.vector.Lo
简单说下我的逻辑:就是想给某个字符串列的所有行都写入同一个字符串值,结果写完之后读的时候,除了第一行有值,其他行读出来都是null,进而导致空指针。
我自己猜测可能是向量式写入的时候,列向量的状态没处理对?比如只给第一行设置了有效数据,后面的行没正确标记为非null,或者缓冲区的引用没处理好?
有没有懂ORC向量写入的大佬,能帮忙分析下问题出在哪,或者给个正确的写法示例?谢谢大家了!
备注:内容来源于stack exchange,提问作者user1885418
相关产品推荐
相关产品推荐

