Скажем, у меня есть две базы данных neo4j, я использовал драйвер neo4j-spark-connector . Я могу зарегистрировать свой neo4j-db внутри контекста искры следующим образом:
val conf = new SparkConf()
.setAppName("App")
.setMaster("local[*]") // spark master url
.set("spark.neo4j.bolt.url", confObject.neo4jNewsBoltURL)
.set("spark.neo4j.bolt.user", confObject.neo4jNewsUser)
.set("spark.neo4j.bolt.password", confObject.neo4jNewsPassword)
val sc: SparkContext = SparkContext.getOrCreate(conf)
val neo4jClient: Neo4j = Neo4j(sc)
Q : Как я могу установить два neo4j в контексте искры?
Как я знаю, у меня не может быть многократного контекста искры, и если бы я мог, существует проблема, связанная с разным контекстом искры внутри одной JVM
Хотя параметр конфигурации spark.driver.allowMultipleContexts существует, он вводит в заблуждение, поскольку использование нескольких контекстов Spark не рекомендуется. Эта опция используется только для внутренних тестов Spark и не должна использоваться в пользовательских программах. Вы можете получить неожиданные результаты, запустив более одного контекста Spark в одной JVM.
Так нужно ли иметь несколько искр для каждого neo4j? Есть ли лучший способ?