Spark Cassandra Connector问题

时间:2017-11-20 14:25:50

标签: spark-cassandra-connector cassandra-3.0

我正在尝试将Cassandra与Spark集成并面对以下问题。

问题:

com.datastax.spark.connector.util.ConfigCheck $ ConnectorConfigurationException:无效的配置变量 使用Spark Cassandra Connector时,只允许使用已知的spark.cassandra。*变量。 spark.cassandra.keyspace不是有效的Spark Cassandra Connector变量。 可能的比赛: spark.cassandra.sql.keyspace spark.cassandra.output.batch.grouping.key         在com.datastax.spark.connector.util.ConfigCheck $ .checkConfig(ConfigCheck.scala:50)         在com.datastax.spark.connector.cql.CassandraConnectorConf $ .apply(CassandraConnectorConf.scala:253)         在org.apache.spark.sql.cassandra.CassandraSourceRelation $ .apply(CassandraSourceRelation.scala:263)         在org.apache.spark.sql.cassandra.CassandraCatalog.org $ apache $ spark $ sql $ cassandra $ CassandraCatalog $$ buildRelation(CasandraCatalog.scala:41)         在org.apache.spark.sql.cassandra.CassandraCatalog $$ anon $ 1.load(CassandraCatalog.scala:26)         在org.apache.spark.sql.cassandra.CassandraCatalog $$ anon $ 1.load(CassandraCatalog.scala:23)

请找到以下版本的spark Cassandra和我正在使用的连接器。

Spark:1.6.0 卡珊德拉:2.1.17 使用的连接器:spark-cassandra-connector_2.10-1.6.0-M1.jar

以下是我用来连接来自spark的Cassandra的代码片段。

val conf: org.apache.spark.SparkConf = new SparkConf(true) \
            .setAppName("Spark Cassandra") \
            .set"spark.cassandra.connection.host", "abc.efg.lkh") \
            .set("spark.cassandra.auth.username", "xyz") \
            .set("spark.cassandra.auth.password", "1234") \
            .set("spark.cassandra.keyspace","abcded")

val sc = new SparkContext("local[*]", "Spark Cassandra",conf)

val csc = new CassandraSQLContext(sc)
csc.setKeyspace("abcded")

val my_df = csc.sql("select * from table")

在这里,当我尝试创建DF时,我发现错误。我试过没有在conf中传递模式,但它试图访问默认架构,其中提到的用户无法访问。

JIRA已经开放和关闭。 https://datastax-oss.atlassian.net/browse/SPARKC-102

但是我遇到了这个问题。请告诉我是否需要使用最新的连接器来解决此问题。

提前致谢。

1 个答案:

答案 0 :(得分:0)

重要信息在您发布的错误消息中[为便于阅读而格式化]:

  

无效的配置变量

     

使用Spark Cassandra连接器时,仅允许使用已知的spark.cassandra。*变量。

     

spark.cassandra.keyspace不是有效的Spark Cassandra Connector变量。

     

可能的匹配项:spark.cassandra.sql.keyspace

spark.cassandra.keyspace不是连接器的可用属性。可在此处找到可用属性的完整列表:https://github.com/datastax/spark-cassandra-connector/blob/master/doc/reference.md

使用建议的spark.cassandra.sql.keyspace可能会有些运气;否则,您可能只需要为使用连接器执行的每个Cassandra交互明确指定键空间。