尝试将数据写入Parquet中的Spark 1.1.1。
我关注A Powerful Big Data Trio: Spark, Parquet and Avro作为模板。本文中的代码使用作业设置来将方法调用到ParquetOutputFormat API。
scala> import org.apache.hadoop.mapreduce.Job
scala> val job = new Job()
java.lang.IllegalStateException: Job in state DEFINE instead of RUNNING
at org.apache.hadoop.mapreduce.Job.ensureState(Job.java:283)
at org.apache.hadoop.mapreduce.Job.toString(Job.java:452)
at scala.runtime.ScalaRunTime$.scala$runtime$ScalaRunTime$$inner$1(ScalaRunTime.scala:324)
at scala.runtime.ScalaRunTime$.stringOf(ScalaRunTime.scala:329)
at scala.runtime.ScalaRunTime$.replStringOf(ScalaRunTime.scala:337)
at .<init>(<console>:10)
at .<clinit>(<console>)
...
答案 0 :(得分:0)
Spark作业和MapReduce作业不同,Spark使用MapReduce的InputFormat在HDFS中获取输入。
从堆栈跟踪中,错误来自toString方法。尝试使用spark-submit运行作业,而不是使用spark-shell。它应该从toString解决错误。