Datasets in Apache Spark
Datasets in Apache Spark
DatasetTweet ds sc.read.jsonpath.asEncoders.beanTweet.class; ds.show; JavaRDDTweet dstry ds.toJavaRDD; System.out.printlndstry.first.getClass; Caused by: java.util.concurrent.ExecutionException: org.codehaus.commons.compiler.CompileException: File generated.java, Line 50, Column 16: failed to compile: org.codehaus.commons.compiler.CompileException: File generated.java, Line 50, Column 16: No applicable constructormethod found for actual parameters org.apache.spark.unsafe.types.UTF8String; candidates are: public void sparkSQL.Tweet.setIdlong at org.spark_project.guava.util.concurrent.AbstractFutureSync.getValueAbstractFuture.java:306 at org.spark_project.guava.util.concurrent.AbstractFutureSync.getAbstractFuture.java:293 at org.spark_project.guava.util.concurrent.AbstractFuture.getAbstractFuture.java:116 at org.spark_project.guava.util.concurrent.Uninterruptibles.getUninterruptiblyUninterruptibles.java:135 at org.spark_project.guava.cache.LocalCacheSegment.getAndRecordStatsLocalCache.java:2410 at org.spark_project.guava.cache.LocalCacheSegment.loadSyncLocalCache.java:2380 at org.spark_project.guava.cache.LocalCacheSegment.lockedGetOrLoadLocalCache.java:2342 at org.spark_project.guava.cache.LocalCacheSegment.getLocalCache.java:2257 at org.spark_project.guava.cache.LocalCache.getLocalCache.java:4000 at org.spark_project.guava.cache.LocalCache.getOrLoadLocalCache.java:4004 at org.spark_project.guava.cache.LocalCacheLocalLoadingCache.getLocalCache.java:4874 at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.compileCodeGenerator.scala:1369 at org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection.createGenerateSafeProjection.scala:197 at org.apache.spark.sql.catalyst.expressions.codegen.GenerateSafeProjection.createGenerateSafeProjection.scala:36 at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.generateCodeGenerator.scala:1325 at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.generateCodeGenerator.scala:1322 at org.apache.spark.sql.execution.DeserializeToObjectExecanonfun2.applyobjects.scala:90 at org.apache.spark.sql.execution.DeserializeToObjectExecanonfun2.applyobjects.scala:89 at org.apache.spark.rdd.RDDanonfunmapPartitionsWithIndexInternal1anonfunapply24.applyRDD.scala:818 at org.apache.spark.rdd.RDDanonfunmapPartitionsWithIndexInternal1anonfunapply24.applyRDD.scala:818 at org.apache.spark.rdd.MapPartitionsRDD.computeMapPartitionsRDD.scala:38 at org.apache.spark.rdd.RDD.computeOrReadCheckpointRDD.scala:324 at org.apache.spark.rdd.RDD.iteratorRDD.scala:288 at org.apache.spark.rdd.MapPartitionsRDD.computeMapPartitionsRDD.scala:38 at org.apache.spark.rdd.RDD.computeOrReadCheckpointRDD.scala:324 at org.apache.spark.rdd.RDD.iteratorRDD.scala:288 at org.apache.spark.scheduler.ResultTask.runTaskResultTask.scala:87 at org.apache.spark.scheduler.Task.runTask.scala:109 at org.apache.spark.executor.ExecutorTaskRunner.runExecutor.scala:345 at java.util.concurrent.ThreadPoolExecutor.runWorkerThreadPoolExecutor.java:1149 at java.util.concurrent.ThreadPoolExecutorWorker.runThreadPoolExecutor.java:624 at java.lang.Thread.runThread.java:748 Caused by: org.codehaus.commons.compiler.CompileException: File generated.java, Line 50, Column 16: failed to compile: org.codehaus.commons.compiler.CompileException: File generated.java, Line 50, Column 16: No applicable constructormethod found for actual parameters org.apache.spark.unsafe.types.UTF8String; candidates are: public void sparkSQL.Tweet.setIdlong at org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator.orgapachesparksqlcatalystexpressionscodegenCodeGeneratordoCompileCodeGenerator.scala:1435 at org.apache.spark.sql.catalyst.expressions.codegen.CodeGeneratoranon1.loadCodeGenerator.scala:1497 at org.apache.spark.sql.catalyst.expressions.codegen.CodeGeneratoranon1.loadCodeGenerator.scala:1494 at org.spark_project.guava.cache.LocalCacheLoadingValueReference.loadFutureLocalCache.java:3599 at org.spark_project.guava.cache.LocalCacheSegment.loadSyncLocalCache.java:2379 When I looked closely the only thing I raised my doubts is this: No applicable constructormethod found for actual parameters org.apache.spark.unsafe.types.UTF8String; candidates are: public void sparkSQL.Tweet.setIdlong
It gives you an error because of type mismatch: Tweet class defines id field as Long. Your data has id as String. You have to either cast input or adjust class definition.
Комментарии
Отправить комментарий