【发布时间】:2019-01-12 16:13:11
【问题描述】:
我通过使用 map 函数将 RDD 转换为 DF 创建了 dataframe。当我尝试显示记录时,它给了我exception。
以下是我的代码:
//Created case class
case class employees(emp_id:java.lang.Long,emp_name:String, job_name:String,manager_id:java.lang.Long,hire_date:String,salary:java.lang.Double,commision:java.lang.Double,dep_id:java.lang.Long);
// Created DF
val employeesDf=rd1.map(_.split(",")).map(p=>employees(p(0).toLong,p(1),p(2),p(3).toLong,p(4),p(5).toDouble,p(6).toDouble,p(7).toLong)).toDF()
//Schema
scala> employeesDf
res5: org.apache.spark.sql.DataFrame = [emp_id: bigint, emp_name: string, job_name: string, manager_id: bigint, hire_date: string, salary: double, commision: double, dep_id: bigint]
但是当我尝试显示一些记录时,它会引发异常。下面是error:
scala> employeesDf.show()
18/08/05 07:08:43 ERROR executor.Executor: Exception in task 0.0 in stage 1.0 (TID 1)
java.lang.NumberFormatException: For input string: ""
以下是员工数据集:
那么我哪里错了??我从几个小时就被困住了..
【问题讨论】:
标签: scala apache-spark hadoop bigdata