apache-spark - 如何获取 saveToCassandra 并使用它?

标签 apache-spark apache-spark-sql cassandra databricks datastax-enterprise

我正在使用spark-sql v2.3.1将数据写入cassandra v3.11.1。 要将数据帧写入 cassandra 表,我们可以使用

df.write.format("org.apache.spark.sql.cassandra") 
 .options(Map( "table" -> tname, "keyspace" -> keyspacename ))
 .mode(SaveMode.Append)
 .save();

但是对于相同的版本,我如何使用 saveToCassandra() 方法 我需要添加任何 jar 吗?我已经添加了spark-cassandra-connector 和cassandra-driver-core。我需要添加更多 jar 吗?我得到一个 SparkSession 作为 Spark,它不支持 createDateFrame()

最佳答案

saveToCassandra 位于同一个包中,但它works on RDD ,而不是在 DataFrame 上。因此,如果您想使用该命令(确实应该是一个很好的理由),您只需通过说 df.rdd 并调用 saveToCassandra 从数据框中获取 RDD > 关于它。

关于apache-spark - 如何获取 saveToCassandra 并使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52852130/

相关文章:

mysql - 如何序列化foreach中spark节点分布的jdbc连接

apache-spark - Spark中的treeReduce与reduceByKey

apache-spark - Spark - 如何使用 - Thrift - Hive Interactor 获取逻辑/物理查询执行

scala - scala 中的最小最大标准化

Cassandra 表创建失败,错误请求 : mismatched input

java - Cassandra 和插入 float 列

scala - 尝试保存 Spark SQL Dataframes 总是导致空目录

scala - 如何从 MapType Scala Spark Column 中提取数据作为 Scala Map?

python - pyspark中groupBy之后的列别名

Cassandra 在单个 ColumnFamily 中进行原子读/写