java.lang.NumberFormatException: For input string: “spu_price“

  • Post author:
  • Post category:java


scala> rdd.filter(x=> x.split(",")(5)!=" ").map(x=>(x.split(",")(1),x.split(",")(5))).map(x=>(x._1,x._2.toDouble)).reduceByKey(_+_).collect.foreach(println)

在这里插入图片描述


分析:


出现报错先看懂啥意思,上面的意思说因为”spu_price”

类型转换异常。

刚开始想的是:切分之后拿到的数组的某个元素就是string啊,而scala的string能toDouble啊,为啥报错呢,尝试了很久,突然想起来数据源中有header,有头,

在这里插入图片描述

那你怎么string toDouble,

就像这样的,不行

在这里插入图片描述

这样的就行

在这里插入图片描述

得能让他有转成的可能啊!


解决办法:


过滤掉header

scala>rdd.filter(x=> !x.split(",")(0).startsWith("s")).map(x=>(x.split(",")(1),x.split(",")(5).toDouble)).reduceByKey(_+_).collect.foreach(println)

在这里插入图片描述



版权声明:本文为qq_15009447原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。