0

我是新来的 spark ,我尝试创建一个图框并对此进行一些查询,这是我的代码

import pyspark
from pyspark.sql import SQLContext
from graphframe import *
sc = pyspark.SparkContext()
sqlContext = SQLContext(sc)
vertices = sqlContext.createDataFrame([
("1","Alex", 28, "M","MIPT"),
("2","Emeli", 28, "F","MIPT"),
("7","Ilya", 29, "M","MSU")], ["id","name","age","gender","university"])
edges = sqlContext.createDataFrame([
("1","2","friend")
], ["src", "dst" , "type"])
g=GraphFrame(vertices,edges)
result = g.connectedComponents()

但结果显示以下错误:

回溯(最后一次调用):文件“”,第 1 行,在文件“C:\Users\ALI_PC\AppData\Local\Temp\spark-73d7bc01-3873-4423-ac2b-527e39608ece\userFiles-b2dd0ea9-9556-4bea -9931-915608bad9b0\graphframes_graphframes-0.5.0-spark2.1-s_2.11.jar\graphframes\graphframe.py”,第 279 行,在 connectedComponents 文件“C:\Spark\spark-2.2.1-bin-hadoop2. 7\python\lib\py4j-0.10.4-src.zip\py4j\java_gateway.py",第 1133 行,调用中 文件“C:\Spark\spark-2.2.1-bin-hadoop2.7\python\pyspark\sql\utils.py”,第 63 行,deco return f(*a, **kw) 文件“C:\ Spark\spark-2.2.1-bin-hadoop2.7\python\lib\py4j-0.10.4-src.zip\py4j\protocol.py",第 319 行,在 get_return_value py4j.protocol.Py4JJavaError: An error occurred while调用 o249.run。:java.io.IOException:未设置检查点目录。请先使用 sc.setCheckpointDir() 进行设置。在 org.graphframes.lib.ConnectedComponents$$anonfun$2.apply(ConnectedComponents.scala:280) 在 org.graphframes.lib.ConnectedComponents$$anonfun$2.apply(ConnectedComponents.scala:280) 在 scala.Option.getOrElse(Option .scala:121) 在 org.graphframes.lib.ConnectedComponents$.org$graphframes$lib$ConnectedComponents$$run(ConnectedComponents.scala:27​​9) 在 org.graphframes。

我该如何解决这个问题,谢谢!

4

1 回答 1

0

完全如异常消息中所述:

未设置检查点目录。请先使用 sc.setCheckpointDir() 进行设置。

你必须设置检查点目录:

sc.setCheckpointDir(path_to_checkpoint_directory)
于 2018-01-10T21:57:57.017 回答