I am not sure if it can work on Spark 1.0, but give it a try.

or, Maybe you can try:
1) to construct the edges and vertices RDDs respectively with desired storage 
level.
2) then, to obtain a graph by using Graph(verticesRDD, edgesRDD).

Best,
Yifan LI




On 28 Oct 2014, at 12:10, Arpit Kumar <arp8...@gmail.com> wrote:

> Hi Yifan LI,
> I am currently working on Spark 1.0 in which we can't pass edgeStorageLevel 
> as parameter. It implicitly caches the edges. So I am looking for a 
> workaround.
> 
> http://spark.apache.org/docs/1.0.0/api/scala/index.html#org.apache.spark.graphx.GraphLoader$
> 
> Regards,
> Arpit
> 
> On Tue, Oct 28, 2014 at 4:25 PM, Yifan LI <iamyifa...@gmail.com> wrote:
> Hi Arpit,
> 
> To try this:
> 
> val graph = GraphLoader.edgeListFile(sc, edgesFile, minEdgePartitions = 
> numPartitions, edgeStorageLevel = StorageLevel.MEMORY_AND_DISK,
>      vertexStorageLevel = StorageLevel.MEMORY_AND_DISK)
> 
> 
> Best,
> Yifan LI
> 
> 
> 
> 
> On 28 Oct 2014, at 11:17, Arpit Kumar <arp8...@gmail.com> wrote:
> 
>> Any help regarding this issue please?
>> 
>> Regards,
>> Arpit
>> 
>> On Sat, Oct 25, 2014 at 8:56 AM, Arpit Kumar <arp8...@gmail.com> wrote:
>> Hi all,
>> I am using the GrpahLoader class to load graphs from edge list files. But 
>> then I need to change the storage level of the graph to some other thing 
>> than MEMORY_ONLY.
>> 
>> val graph = GraphLoader.edgeListFile(sc, fname,
>>           minEdgePartitions = 
>> numEPart).persist(StorageLevel.MEMORY_AND_DISK_SER)
>> 
>> The error I am getting while executing this is:
>> Exception in thread "main" java.lang.UnsupportedOperationException: Cannot 
>> change storage level of an RDD after it was already assigned a level
>> 
>> 
>> Then I looked into the GraphLoader class. I know that in the latest version 
>> of spark support for setting persistence level is provided in this class. 
>> Please suggest a workaround for spark 1.0.0 as I do not have the option to 
>> shift to latest release.
>> 
>> Note: I tried copying the GraphLoader class to my package as GraphLoader1 
>> importing 
>> 
>> package com.cloudera.xyz
>> 
>> import org.apache.spark.storage.StorageLevel
>> import org.apache.spark.graphx._
>> import org.apache.spark.{Logging, SparkContext}
>> import org.apache.spark.graphx.impl._
>> 
>> and then changing the persistence level to my suitability as 
>> .persist(gStorageLevel) instead of .cache()
>> 
>> But while compiling I am getting the following errors
>> 
>> GraphLoader1.scala:49: error: class EdgePartitionBuilder in package impl 
>> cannot be accessed in package org.apache.spark.graphx.impl
>> [INFO]       val builder = new EdgePartitionBuilder[Int, Int]
>> 
>> I am also attaching the file with the mail. Maybe this way of doing thing is 
>> not possible.
>> 
>> 
>> Please suggest some workarounds so that I can set persistence level of my 
>> graph to MEMORY_AND_DISK_SER for the graph I read from edge file list
>> 
>> 
>> 
>> -- 
>> Arpit Kumar
>> Fourth Year Undergraduate
>> Department of Computer Science and Engineering
>> Indian Institute of Technology, Kharagpur
> 
> 
> 
> 
> -- 
> Arpit Kumar
> Fourth Year Undergraduate
> Department of Computer Science and Engineering
> Indian Institute of Technology, Kharagpur

Reply via email to