【发布时间】:2018-06-20 01:43:35
【问题描述】:
我是 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()
但结果显示以下错误:
Traceback(最近一次调用最后一次): 文件“”,第 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 返回 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: 调用 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:279) 在 org.graphframes.lib.ConnectedComponents.run(ConnectedComponents.scala:139) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) 在 py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) 在 py4j.Gateway.invoke(Gateway.java:280) 在 py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) 在 py4j.commands.CallCommand.execute(CallCommand.java:79) 在 py4j.GatewayConnection.run(GatewayConnection.java:214) 在 java.lang.Thread.run(Thread.java:745)
如何解决这个问题,谢谢!
【问题讨论】:
标签: windows apache-spark pyspark spark-dataframe graphframes