我对spark和cassandra还不熟悉。我用这个代码,但它给我错误。
val dfprev = df.select(col = "se","hu")
val a = dfprev.select("se")
val b = dfprev.select("hu")
val collection = sc.parallelize(Seq(a,b))
collection.saveToCassandra("keyspace", "table", SomeColumns("se","hu"))
当我在上输入此代码时 savetocassandra
,它给了我一个错误,错误是:
java.lang.illegalargumentexception:不允许具有相同数量参数的多个构造函数。在com.datastax.spark.connector.util.reflect$.methodsymbol(reflect。scala:16)在com.datastax.spark.connector.util.reflectionutil$.constructorparams(reflectionutil。scala:63)在com.datastax.spark.connector.mapper.defaultcolumnmapper.(defaultcolumnmapper。scala:45)在com.datastax.spark.connector.mapper.lowprioritycolumnmapper$class.defaultcolumnmapper(columnmapper。scala:51)在om.datastax.spark.connector.mapper.columnmapper$.defaultcolumnmapper(columnmapper。scala:55)
1条答案
按热度按时间3phpmpom1#
变量
a
以及b
属于Dataframe类型。sc.parallelize
从元素集合创建rdd,它不接受Dataframe作为输入。注:设置
spark.cassandra.connection.host
以及spark.cassandra.auth.username
&spark.cassandra.auth.password
(如果已启用身份验证)在sparkconf