apache-spark - 无法使用 Spark 在 Datastax 上初始化图形
问题描述
我正在尝试使用 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,您需要链接所谓的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
推荐阅读
- macros - 如何让 Sas 数据集标题通过 DDE 导出到 excel 表
- java - 使用 7z 的 Commons Compress 使 Stream 不是 BZip2 格式
- anaconda - 是否可以列出 anaconda 的环境 *with* 创建日期
- javascript - 拦截器内的vue axios
- javascript - 在快速中间件中调用时,这在原型函数中不起作用
- json - 使用 jq 批量更新本地 json 文件
- javascript - 如何用不在所述数组中的项替换数组中的项?
- python - 将一个 Excel 文件中的值与 pandas 中的另一个 Excel 文件匹配并获取值
- javascript - 在每个字符之间添加一个空格,但是在一个方法中
- python-3.x - 谷歌语音 API 可以将文本转换为语音吗?