簡體   English   中英

在 flink 中使用 RowCsvInputFormat 讀取文件時出現 NullpointException

[英]NullpointException when reading file with RowCsvInputFormat in flink

我是 Flink 流媒體的初學者。

使用 RowCsvInputFormat 讀取文件時,Kryo 序列化程序創建 Row 的代碼無法正常工作。

經過調試,創建Row時,Row.setFields中出現nullpointException,因為字段的值為null。

在此處輸入圖像描述

創建 Row 的代碼如下。 KryoSerializer 將創建 Row。

    val kryo = new EmptyFlinkScalaKryoInstantiator().newKryo
    val Row = kryo.newInstance(classOf[Row])

output錯誤如下。

java.lang.NullPointerException
at org.apache.flink.types.Row.setField(Row.java:140)
at org.apache.flink.api.java.io.RowCsvInputFormat.fillRecord(RowCsvInputFormat.java:162)
at org.apache.flink.api.java.io.RowCsvInputFormat.fillRecord(RowCsvInputFormat.java:33)
at org.apache.flink.api.java.io.CsvInputFormat.readRecord(CsvInputFormat.java:113)
at org.apache.flink.api.common.io.DelimitedInputFormat.nextRecord(DelimitedInputFormat.java:551)
at org.apache.flink.api.java.io.CsvInputFormat.nextRecord(CsvInputFormat.java:80)
at org.apache.flink.streaming.api.functions.source.ContinuousFileReaderOperator.readAndCollectRecord(ContinuousFileReaderOperator.java:387)
at

也許您可以發布完整的代碼。

從任務報錯來看,可能是因為字段數不匹配

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM