spark模型error java.lang.IllegalArgumentException: Row length is 0


failure: Lost task 18.3 in stage 17.0 (TID 59784,XXXXX, executor 19): java.lang.IllegalArgumentException: Row length is 0

場景是寫入hbase:

val put = new Put(Bytes.toBytes(line._1))

當取出的line._1做為row,值是“”或者null時就會出現此異常。所以做如下處理,先過濾掉為null和“”的數據

    val bhaseRdd = resultRdd.filter(r => {
      r._1 != "" && r._1!=null&&r._1.length>0
    }).map(line => {
      val put = new Put(Bytes.toBytes(line._1)) //rowKey 為參數,拿到put
      val key = line._2.keySet().iterator(); //拿到對應的dataMap
........

 然后count下數據量:

println(bhaseRdd.count())

發現為0,那就是你的resultRdd里沒有收集到數據,或者收集了好多數據但是里面全是null或者“”,然后解決這個問題就可以了

 


免責聲明!

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



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