Flink各種疑難雜症


1.

Caused by: java.lang.RuntimeException: Row arity of from does not match serializers.
at org.apache.flink.api.java.typeutils.runtime.RowSerializer.copy(RowSerializer.java:89)
at org.apache.flink.api.java.typeutils.runtime.RowSerializer.copy(RowSerializer.java:47)
at org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.pushToOperator(OperatorChain.java:577)
... 22 more

這種情況就是你返回的row的類型和配置的輸出字段個數不匹配,也有可能是你的代碼出現了null值。

 

2.java.lang.NumberFormatException:For input string:" "

 

  這個是因為空字符串在flink sql里面不能cast 為數值類型的,可以在你的代碼腳本里面,對於空字符串設置為null,row.setField(i, null)

 

3.Exception in thread "main" org.apache.flink.table.api.TableException: Result field does not match requested type. Requested: String; Actual: Long

這種情況有可能是你的表對應的返回字段格式不正確,還有可能是你沒有導入

import org.apache.flink.streaming.api.scala._  這個隱式轉換,很坑!!!

 

 4. SQL parse failed. Lexical error at line 4, column 3.  Encountered: "\uff0c" (65292), after : ""

 

 Flinksql語句中的特殊符號 , 你可能用了中文輸入法,切換英文輸入法即可

 

5.Exception in thread "main" org.apache.flink.table.api.TableException: Field reference expression or alias on field expression expected.

 字段中使用了別名

 

 6.datastream row類型map的時候需要隱式轉換

 

 

導入這個即可 import org.apache.flink.api.scala._
一般需要隱式轉換的時候,不管是datastream api和table api導入以下幾個依賴試試即可:
import org.apache.flink.api.scala._
import org.apache.flink.table.api.scala._
import org.apache.flink.streaming.api.scala._




7. Class 'class SQL.WindowTest$Student$3' described in type information 'SQL.WindowTest$Student$3(id: String, name: String, score: Long)' must be static and globally accessible.

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM