pycharm中怎么使用pyspark连接到图数据库并调用图算法

  • nebula 版本:v3
  • 部署方式:单机
  • 安装方式:Docker
  • 是否为线上版本:N
    pycharm中怎么使用pyspark连接到图数据库并调用图算法呢?有这种api吗?如果没有的话有想要写类似于(Python 内置方法 nebula2)图算法api的计划吗
1 个赞

如之前的 thread 提供的方法,"在 pycharm” 中提交 pyspark 的方式应该是一个通用的知识,你可以搜搜看哈,我暂时还没有时间帮你研究。

没有这样的 api,我们回去做另一个包实现这个,等出来了邀请你来提前试用哈,在未来几个礼拜。

1 个赞

你好,请问调用图算法后的对象<class ‘py4j.java_gateway.JavaObject’>怎么转回pyspark dataframe对象<class ‘pyspark.sql.dataframe.DataFrame’>呢?

from pyspark.sql import DataFrame

jdf = jdf.toDF()
df = DataFrame(jdf, spark)

@cyanscope

1 个赞

非常感谢,受教了:D

1 个赞

请问目前是否已经有pyspark调用图算法的相关文档可以参考呢?

可以参考我在 NebulaGraph AI Suite 里的代码哈

https://github.com/wey-gu/nebulagraph-ai/blob/main/ng_ai/nebula_algo.py

收到谢谢~

老师,在ng_ai项目里有看到import ng_nx这个包,请问从哪里可以找到呢?

https://github.com/wey-gu/NebulaGraph-nx

pip install ng_nx
1 个赞

您好,我用ng_ai中的spark engine去访问数据的时候一开始报找不到数据源的错(跟https://discuss.nebula-graph.com.cn/t/topic/12325类似),然后我把nebula-spark-connector的jar包带上后报的是java.lang.NoSuchMethodError:com.google.common.net.HostAndPort(.)Ljava/lang/String,请问大概是什么原因呢?

@hanviry ng-ai用到的spark-connector 中引用的guava包版本是14.0, 你可以看下你安装的Spark环境中的guava版本是多少(在SPARK_HOME/jars 下),可以替换成14.0 的jar。

1 个赞

好的谢谢!

古老师,目前我的spark版本2.4.7
使用

spark = SparkSession.builder.appName("configServerAnomalyDetection").getOrCreate()
df = DataFrame(jdf, spark)

转换时,如果继续将df转换成pandas dataframe

df.toPandas()

会报错

File "/usr/hdp/current/spark2-client/python/lib/pyspark.zip/pyspark/sql/dataframe.py", line 2088, in toPandas
    if self.sql_ctx._conf.pandasRespectSessionTimeZone():
AttributeError: 'RuntimeConfig' object has no attribute 'pandasRespectSessionTimeZone'

你的 pyspark 和 spark 2.4.7 兼容么?

再就是这个方法看看行不

pd_df = pd.DataFrame(df.collect(), columns=df.columns)

我试试,其他的动作跑下来,读取存储包括algorithm都没问题

1 个赞

嗯嗯,那可能就是这个转换时候的 timezone 方法有兼容性问题,看看不改版本手动转行不哈

这个OK

1 个赞