Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

java.util.Date cannot be cast to org.apache.hadoop.io.Writable #340

Closed
yujianok opened this issue Dec 11, 2014 · 2 comments
Closed

java.util.Date cannot be cast to org.apache.hadoop.io.Writable #340

yujianok opened this issue Dec 11, 2014 · 2 comments

Comments

@yujianok
Copy link

Im integrating Elasticsearch-Hadoop with Spark
Spark version is 1.1.1
hadoop-client version is 1.0.4
elastisearch-hadoop version is 2.0.2

When I count a resource with a Date field(stored as long value),exception occered

Code as below:
JavaPairRDD esRDD = jsc.hadoopRDD(conf, EsInputFormat.class, Text.class, MapWritable.class);
long docCount = esRDD.count();

error message as below:
java.lang.ClassCastException: java.util.Date cannot be cast to org.apache.hadoop.io.Writable
at org.elasticsearch.hadoop.mr.LinkedMapWritable.put(LinkedMapWritable.java:39)
at org.elasticsearch.hadoop.serialization.builder.JdkValueReader.addToMap(JdkValueReader.java:88)
at org.elasticsearch.hadoop.serialization.ScrollReader.map(ScrollReader.java:216)
at org.elasticsearch.hadoop.serialization.ScrollReader.read(ScrollReader.java:139)
at org.elasticsearch.hadoop.serialization.ScrollReader.readHit(ScrollReader.java:113)
at org.elasticsearch.hadoop.serialization.ScrollReader.read(ScrollReader.java:99)
at org.elasticsearch.hadoop.serialization.ScrollReader.read(ScrollReader.java:78)
at org.elasticsearch.hadoop.rest.RestRepository.scroll(RestRepository.java:268)
at org.elasticsearch.hadoop.rest.ScrollQuery.hasNext(ScrollQuery.java:75)
at org.elasticsearch.hadoop.mr.EsInputFormat$ShardRecordReader.next(EsInputFormat.java:321)
at org.apache.spark.rdd.HadoopRDD$$anon$1.getNext(HadoopRDD.scala:239)
at org.apache.spark.rdd.HadoopRDD$$anon$1.getNext(HadoopRDD.scala:208)
at org.apache.spark.util.NextIterator.hasNext(NextIterator.scala:71)
at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:39)
at org.apache.spark.util.Utils$.getIteratorSize(Utils.scala:1218)
at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:904)
at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:904)
at org.apache.spark.SparkContext$$anonfun$runJob$4.apply(SparkContext.scala:1143)
at org.apache.spark.SparkContext$$anonfun$runJob$4.apply(SparkContext.scala:1143)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:62)
at org.apache.spark.scheduler.Task.run(Task.scala:54)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:178)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)

In my opinion, maybe JdkValueReader:340 has a bug. It should not simply return a new java.util.Date()

@costin
Copy link
Member

costin commented Dec 11, 2014

This should be fixed in master - can you please check the dev build for 2.1.0.BUILD-SNAPSHOT. Duplicate of #320

@costin
Copy link
Member

costin commented Jan 15, 2015

Closing the issue

@costin costin closed this as completed Jan 15, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants