无法在 datatricks 笔记本中使用 joinWithCassandraTable

Cannot use joinWithCassandraTable in datatricks notebook

我正在使用 databricks notebook,我正在尝试使用 joinWithCassandraTable 将 RDD 与 cassandra 连接起来 table。

rdd 只是一个主键列表,我通过以下方式使用 CassandraConnector 连接 cassandra:

sparkConf.set("spark.cassandra.connection.localDC", dc)
sparkConf.set("spark.cassandra.connection.host", ip)
sparkConf.set("spark.cassandra.auth.username", cassandraUsername)
sparkConf.set("spark.cassandra.auth.password", cassandraPassword)
val cassandraConnector = CassandraConnector(sparkConf)

但是在我尝试使用 joinWithCassandraTable 的地方,我在 sparkConf 中设置的 ip 似乎没有生效,它仍在尝试连接到“localhost:9042”。

可能是因为 joinWithCassandraTable 正在使用笔记本中的共享 spark 上下文,共享上下文中的任何配置更改都不会生效。 请教如何让joinWithCassandraTable使用正确的配置。

答案是因为 joinWithCassandraTable 始终使用在创建笔记本之前初始化的 databricks 笔记本中的内置备用上下文。之后您将无法更改 spark conf。

该功能的正确使用方法是按照 https://docs.databricks.com/data/data-sources/cassandra.html

创建一个 /databricks/init/$sparkClusterName/cassandra.sh 脚本并将所有与 Cassandra 相关的配置放入其中。此脚本将在笔记本创建之前调用。