zoukankan      html  css  js  c++  java
  • 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或者“”,然后解决这个问题就可以了

  • 相关阅读:
    python 笔记8
    python笔记6
    python笔记5
    python笔记4
    python笔记3
    python课程2
    cobbler 坑爹指南
    hadoop filesystem 删除文件 复制文件 重命名文件
    hadoop 文件 复制 移动 FileUtil.copy
    soinn
  • 原文地址:https://www.cnblogs.com/shaozhiqi/p/11613605.html
Copyright © 2011-2022 走看看