【发布时间】:2017-10-22 18:25:52
【问题描述】:
检查 github 上的 repo 我看到 cassandraFormat here。我的 import 语句没有抛出异常:
import org.apache.spark.sql.cassandra._
df.write
.cassandraFormat("keyspace", "table")
.save()
<console>:34: error: value cassandraFormat is not a member of org.apache.spark.sql.DataFrameWriter[org.apache.spark.sql.Row]
cassandraFormat 在df.write 下不可用,但在spark.read 下可用。
我使用的是 Spark 2.1.1。我的 spark-shell 由以下方式调用:
spark-shell --master spark://10.0.0.115:7077 --packages com.databricks:spark-csv_2.11:1.5.0,datastax:spark-cassandra-connector:1.6.6-s_2.11
编辑:
我确实意识到cassandraFormat 基本上是.format().options() 的别名。但是返回了一个不同的错误:
df.write
.format("org.apache.spark.sql.cassandra")
.options(Map("table" -> "standard_feed", "keyspace" -> "testing"))
.save()
java.lang.AbstractMethodError: org.apache.spark.sql.cassandra.DefaultSource.createRelation
(Lorg/apache/spark/sql/SQLContext;Lorg/apache/spark/sql/SaveMode;Lscala/collection/
immutable/Map;Lorg/apache/spark/sql/Dataset;)Lorg/apache/spark/sql/sources/
BaseRelation;
at org.apache.spark.sql.execution.datasources.DataSource.write(DataSource.scala:518)
at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:215)
【问题讨论】:
标签: scala apache-spark apache-spark-sql spark-cassandra-connector