Не могу инициализировать график на Datastax с помощью Spark - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь инициализировать свой график Datastax, используя Spark, следующим образом:

val graphBuilder = spark.dseGraph("GRAPH_NAME")

, но у меня есть следующее исключение:

Exception in thread "main" java.lang.NoClassDefFoundError: com/datastax/bdp/graph/impl/element/vertex/id/AbstractVertexIdExternalImpl
at com.datastax.bdp.graph.spark.graphframe.DseGraphFrameBuilder$.apply(DseGraphFrameBuilder.scala:257)
at com.datastax.bdp.graph.spark.graphframe.SparkSessionFunctions.dseGraph(SparkSessionFunctions.scala:20)

Я ищу jar dataxtax, содержащий com/datastax/bdp/graph/impl но я не нашел.

Любая помощь очень ценится.Заранее спасибо!

1 Ответ

0 голосов
/ 21 ноября 2018

Чтобы использовать DseGraphFrames в вашей программе, работающей на внешнем Spark, вам нужно связать так называемый BYOS jar.Это можно сделать следующим образом (для Maven):

<dependency>
  <groupId>com.datastax.dse</groupId>
  <artifactId>dse-byos_2.11</artifactId>
  <version>6.0.4</version>
</dependency>

И добавить репозитории DataStax:

<repositories>
    <repository>
      <id>DataStax-Repo</id>
      <url>https://repo.datastax.com/public-repos/</url>
    </repository>
</repositories>

И если вы проверите банку, извлеченную из репозитория DataStax, она содержит необходимый файл:

unzip -l dse-byos_2.11-6.0.4.jar|grep AbstractVertexIdExternalImpl
     2839  10-06-2018 15:22   com/datastax/bdp/graph/impl/element/vertex/id/AbstractVertexIdExternalImpl.class
...