无法使用spark初始化datastax上的图形

tez616oj  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(379)

我正在尝试使用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 但我没找到。
非常感谢您的帮助。提前谢谢!

goqiplq2

goqiplq21#

要在运行在外部spark上的程序中使用dsegraphframes,需要与所谓的byosjar链接。这可以按以下方式进行(对于maven):

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

并添加数据存储库:

<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

相关问题