无法使用 Spark 在 Datastax 上初始化图形

Can't initialize graph on Datastax using Spark

我正在尝试使用 Spark 初始化我的 Datastax 图,如下所示:

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)

我搜索了一个包含 com/datastax/bdp/graph/impl 的 dataxtax jar,但没有找到。

非常感谢您的帮助。提前致谢!

要在外部 Spark 上的程序 运行 中使用 DseGraphFrames,您需要 link 使用所谓的 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 存储库中获取的 jar,它包含必要的文件:

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