1,261
社区成员
发帖
与我相关
我的任务
分享
import org.apache.spark._
import org.apache.spark.SparkContext
import org.apache.spark.graphx._
import org.apache.spark.graphx.Graph
import org.apache.spark.graphx.util.GraphGenerators
import org.apache.spark.rdd.RDD
import scala.io.Source
object getGraphFromFiles {
def main(args: Array[String]): Unit ={
val sc = new SparkContext("local", "Spark Graphx")
val vertexArr = new Array[(Long,String)](31)
val edgeArr = new Array[Edge[Double]](577)
val sourceV = Source.fromFile("/home/liu/data/ada_graph_find5_14_34.txt")
val lines = sourceV.getLines()
var i = 0
while(lines.hasNext){
val pp = lines.next().split(" ")
vertexArr(i) = (pp(1).toLong , pp(3))
i = i+1
}
println(vertexArr.length)
val sourceE = Source.fromFile("/home/liu/data/ada_graph_find5_14_34.txt")
val linesE = sourceE.getLines()
var j = 0
while(linesE.hasNext){
val ee = lines.next().split(" ")
edgeArr(i) = Edge(ee(3).toLong , ee(5).toLong, ee(15).toDouble)
j = j+1
}
//创建点RDD
val users: RDD[(VertexId, String)] = sc.parallelize(vertexArr)
//创建边RDD
val relationships: RDD[Edge[Double]] = sc.parallelize(edgeArr)
//定义一个默认用户,避免有不存在用户的关系
val defaultUser = (1.0)
//构造Graph
val graph = Graph(users, relationships)
//输出Graph的信息
graph.vertices.collect().foreach(println(_))
graph.triplets.map(triplet => triplet.srcAttr + "----->" + triplet.dstAttr + " attr:" + triplet.attr)
.collect().foreach(println(_))
}
}
我的代码是这样写的,但老是报错,能帮我看看吗?
报错信息是这样的:
/home/liu/program/jdk1.7.0_71/bin/java -Didea.launcher.port=7532 -Didea.launcher.bin.path=/usr/local/idea/idea-IC-139.225.3/bin -Dfile.encoding=UTF-8 -classpath /home/liu/program/jdk1.7.0_71/jre/lib/jce.jar:/home/liu/program/jdk1.7.0_71/jre/lib/deploy.jar:/home/liu/program/jdk1.7.0_71/jre/lib/management-agent.jar:/home/liu/program/jdk1.7.0_71/jre/lib/charsets.jar:/home/liu/program/jdk1.7.0_71/jre/lib/rt.jar:/home/liu/program/jdk1.7.0_71/jre/lib/jsse.jar:/home/liu/program/jdk1.7.0_71/jre/lib/resources.jar:/home/liu/program/jdk1.7.0_71/jre/lib/jfr.jar:/home/liu/program/jdk1.7.0_71/jre/lib/jfxrt.jar:/home/liu/program/jdk1.7.0_71/jre/lib/plugin.jar:/home/liu/program/jdk1.7.0_71/jre/lib/javaws.jar:/home/liu/program/jdk1.7.0_71/jre/lib/ext/zipfs.jar:/home/liu/program/jdk1.7.0_71/jre/lib/ext/localedata.jar:/home/liu/program/jdk1.7.0_71/jre/lib/ext/dnsns.jar:/home/liu/program/jdk1.7.0_71/jre/lib/ext/sunpkcs11.jar:/home/liu/program/jdk1.7.0_71/jre/lib/ext/sunjce_provider.jar:/home/liu/program/jdk1.7.0_71/jre/lib/ext/sunec.jar:/home/liu/IdeaProjects/HelloScala/target/scala-2.11/classes:/usr/local/spark/spark-1.0.0-bin-hadoop1/lib/spark-assembly-1.0.0-hadoop1.0.4.jar:/usr/lib/scala/scala-2.10.4/lib/scala-library.jar:/usr/lib/scala/scala-2.10.4/lib/scala-swing.jar:/usr/lib/scala/scala-2.10.4/lib/scala-actors-migration.jar:/usr/lib/scala/scala-2.10.4/lib/scala-reflect.jar:/usr/lib/scala/scala-2.10.4/lib/scala-actors.jar:/usr/local/idea/idea-IC-139.225.3/lib/idea_rt.jar com.intellij.rt.execution.application.AppMain getGraphFromFiles
14/12/15 19:50:08 INFO SecurityManager: Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
14/12/15 19:50:08 INFO SecurityManager: Changing view acls to: liu
14/12/15 19:50:08 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(liu)
14/12/15 19:50:08 INFO Slf4jLogger: Slf4jLogger started
14/12/15 19:50:08 INFO Remoting: Starting remoting
14/12/15 19:50:09 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://spark@Master:42340]
14/12/15 19:50:09 INFO Remoting: Remoting now listens on addresses: [akka.tcp://spark@Master:42340]
14/12/15 19:50:09 INFO SparkEnv: Registering MapOutputTracker
14/12/15 19:50:09 INFO SparkEnv: Registering BlockManagerMaster
14/12/15 19:50:09 INFO DiskBlockManager: Created local directory at /tmp/spark-local-20141215195009-6ee6
14/12/15 19:50:09 INFO MemoryStore: MemoryStore started with capacity 1050.6 MB.
14/12/15 19:50:09 INFO ConnectionManager: Bound socket to port 60274 with id = ConnectionManagerId(Master,60274)
14/12/15 19:50:09 INFO BlockManagerMaster: Trying to register BlockManager
14/12/15 19:50:09 INFO BlockManagerInfo: Registering block manager Master:60274 with 1050.6 MB RAM
14/12/15 19:50:09 INFO BlockManagerMaster: Registered BlockManager
14/12/15 19:50:09 INFO HttpServer: Starting HTTP Server
14/12/15 19:50:09 INFO HttpBroadcast: Broadcast server started at http://10.10.64.194:60775
14/12/15 19:50:09 INFO HttpFileServer: HTTP File server directory is /tmp/spark-5d11a1c0-6233-402d-afa8-65b3b9fb6556
14/12/15 19:50:09 INFO HttpServer: Starting HTTP Server
14/12/15 19:50:09 INFO SparkUI: Started SparkUI at http://Master:4040
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 31
at getGraphFromFiles$.main(getGraphFromFiles.scala:39)
at getGraphFromFiles.main(getGraphFromFiles.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)