Description
The backport in SPARK-7289 and SPARK-9949 includes the refactor of TakeOrdered to TakeOrderedAndProject, which breaks code that refers to TakeOrdered. In a minor version update that is perhaps not expected - specifically, the Cassandra connector refers to this by name and no longer works.
Example use case it to use the Cassandra connector in Scala and creating a CassandraSQLContext:
import com.datastax.spark.connector._
import sqlContext.implicits._
import org.apache.spark.sql.cassandra.CassandraSQLContext
val cassandraSQLContext = new CassandraSQLContext(sc);
java.lang.NoSuchMethodError: org.apache.spark.sql.cassandra.CassandraSQLContext$$anon$1.TakeOrdered()Lorg/apache/spark/sql/execution/SparkStrategies$TakeOrdered$;
at org.apache.spark.sql.cassandra.CassandraSQLContext$$anon$1.<init>(CassandraSQLContext.scala:90)
at org.apache.spark.sql.cassandra.CassandraSQLContext.<init>(CassandraSQLContext.scala:85)
(Source code link: https://github.com/datastax/spark-cassandra-connector/blob/v1.4.0-M3/spark-cassandra-connector/src/main/scala/org/apache/spark/sql/cassandra/CassandraSQLContext.scala)
This is with version 1.4.0M3 of the Datastax Cassandra connector, but affects other 1.4 versions as well.
Issue has also been reported to Datastax, here:
https://datastax-oss.atlassian.net/browse/SPARKC-238
Attachments
Issue Links
- links to