请教各位大佬:
最近用v3.4.0使用图算法,由于对scala和spark都不了解,看了文档中关于调用算法接口的说明还是不太明白,在scala文件中参考写了pagerankexample的示例代码,我需要处理string类型的id,接下来应该怎么做呢?把scala文件编译成算法包,修改配置文件以后再在spark-submit执行吗?没有看到pagerankexample示例代码中读取nebula数据的代码,求助各位应该怎么做~~
- 处理之后调用算法的 apply 就可以,这两个例子分别是数字型 vid 和非数字型 vid 的例子
/**
* the src id and dst id are numerical values
*/
def pagerank(spark: SparkSession, df: DataFrame): Unit = {
val pageRankConfig = PRConfig(3, 0.85)
val pr = PageRankAlgo.apply(spark, df, pageRankConfig, false)
pr.show()
}
/**
* convert src id and dst id to numerical value
*/
def pagerankWithIdMaping(spark: SparkSession, df: DataFrame): Unit = {
val encodedDF = convertStringId2LongId(df)
val pageRankConfig = PRConfig(3, 0.85)
val pr = PageRankAlgo.apply(spark, encodedDF, pageRankConfig, false)
val decodedPr = reconvertLongId2StringId(spark, pr)
decodedPr.show()
}
-
读取的参考 GitHub - vesoft-inc/nebula-spark-connector 哈,readme 里就有
-
其实 algorithm 本身的 jar 包支持谢一个配置文件提交,可以参考文档和 readme,这个情况不需要写 scala 代码的
-
pagerank的示例代码中 读nebula数据的代码调用在这里
https://github.com/vesoft-inc/nebula-algorithm/blob/master/example/src/main/scala/com/vesoft/nebula/algorithm/ReadData.scala -
如果数据量小只是走一下流程,接下来可以直接在本地ide中运行你的pagerankExample main函数; 如果数据量大,就把example模块 打包(mvn clean package -Dmaven.test.skip=true),然后用spark-submit提交
1 个赞
maven依赖没添加成功,或者你的本地编译器没把项目识别成一个maven项目。 可以google 会有一些帖子有针对idea的操作步骤
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。
