无法在 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 相关的配置放入其中。此脚本将在笔记本创建之前调用。
我正在使用 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 相关的配置放入其中。此脚本将在笔记本创建之前调用。