hama-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edward J. Yoon" <edwardy...@apache.org>
Subject Re: BSPClass with parameters
Date Thu, 09 Jul 2015 02:10:43 GMT
Here's simple example for you:

HamaConfiguration conf = new HamaConfiguration();
conf.setClass(name, theClass, xface);

BSPJob bsp = new BSPJob(conf, MyBSPProgram.class);


On Thu, Jul 9, 2015 at 11:08 AM, Behroz Sikander <behroz89@gmail.com> wrote:
> *>>You can set not only String but also Object. :-)*
> Well, strange because I only see String data type. *BSPJ**ob.set(String name,
> String value);*
>
> *>>If f and g functions should be provided as a user-defined function,*
>
>
> *Above code will be helpful. And also, you can create your ownframework
> atop Hama like BSP-based vertex-centric graph computingframework.*
> That is a good idea. I will try to understand the graph engine code.
>
> Thanks,
> Behroz
>
> On Thu, Jul 9, 2015 at 4:00 AM, Edward J. Yoon <edwardyoon@apache.org>
> wrote:
>
>> Hi,
>>
>> You can set not only String but also Object. :-)
>>
>>   /**
>>    * Set the Vertex class for the job.
>>    */
>>   public void setVertexClass(
>>       Class<? extends Vertex<? extends Writable, ? extends Writable, ?
>> extends Writable>> cls)
>>       throws IllegalStateException {
>>     conf.setClass(VERTEX_CLASS_ATTR, cls, Vertex.class);
>>     setInputKeyClass(cls);
>>     setInputValueClass(NullWritable.class);
>>   }
>>
>> See also
>> http://svn.apache.org/repos/asf/hama/trunk/graph/src/main/java/org/apache/hama/graph/GraphJob.java
>>
>> If f and g functions should be provided as a user-defined function,
>> Above code will be helpful. And also, you can create your own
>> framework atop Hama like BSP-based vertex-centric graph computing
>> framework.
>>
>> Thanks!
>>
>>
>> On Thu, Jul 9, 2015 at 10:53 AM, Behroz Sikander <behroz89@gmail.com>
>> wrote:
>> > Hi,
>> > I know about the set method of BSPJob but the problem is that it takes
>> key
>> > and value in *String. *In my case, I want to pass a value of type
>> *IFunction
>> > (which is an interface).*
>> >
>> > *Regards,*
>> > *Behroz*
>> >
>> > On Thu, Jul 9, 2015 at 3:14 AM, Edward J. Yoon <edward.yoon@samsung.com>
>> > wrote:
>> >
>> >> Hi Behroz,
>> >>
>> >> You should specify the job parameters using BSPJob's get/set methods
>> like
>> >> below:
>> >>
>> >> BSPJob admm = new BSPJob();
>> >>
>> >> admm.set("param1", "value");
>> >> admm.setBspClass(ExchangeADMMSolver.class);
>> >>
>> >> Then,
>> >>
>> >> public class ExchangeADMMSolver extends BSP {
>> >>
>> >> String param1;
>> >>
>> >> @Override
>> >>     public void setup(BSPPeer peer) {
>> >>       this.param1 = peer.getConfiguration().get("param1");
>> >>    }
>> >>
>> >> }
>> >>
>> >> Thanks.
>> >>
>> >> --
>> >> Best Regards, Edward J. Yoon
>> >>
>> >> -----Original Message-----
>> >> From: Behroz Sikander [mailto:behroz89@gmail.com]
>> >> Sent: Thursday, July 09, 2015 9:02 AM
>> >> To: dev@hama.apache.org
>> >> Subject: BSPClass with parameters
>> >>
>> >> Hi,
>> >> I was recently working on something and need your suggestion. I am
>> building
>> >> a small framework on top of Hama. Using my framework, users will submit
>> a
>> >> job to my framework and my framework will internally run the Hama job.
>> Here
>> >> is a sample code of what user might submit to my framework.
>> >>
>> >> //Extra Hama related Params here like JobName, output Path etc
>> >> IFunction f = new MasterFunction(<inputPath>, <extra params>);
>> >> IFunction g = new SlaveFunction(<inputPath>, <extra params>);
>> >> ExchangeADMMSolver admm = new ExchangeADMMSolver(f, g); //Problem here
>> >> admm.solve();
>> >>
>> >> Here ExchangeADMMSolver will be a BSP class (this is what I am hoping to
>> >> acheive) and *"solve" *method will internally create a HamaJob and will
>> >> submit it to Hama.
>> >>
>> >> I am a little confused here that how will I pass all the parameters to
>> the
>> >> BSP class (e.g f,g) ? because in Hama if I want to set the bsp class I
>> do
>> >> the following
>> >>
>> >> HamaJob. setBspClass(ExchangeADMMSolver.class);
>> >>
>> >> So, Instead of this I am looking for something like
>> >>
>> >> HamaJob.setBspObject(admm);
>> >>
>> >> I might need to override some Hama classes but before doing that I need
>> >> some suggestions that what can be the best solution.
>> >>
>> >> Regards,
>> >> Behroz Sikander
>> >>
>> >>
>> >>
>>
>>
>>
>> --
>> Best Regards, Edward J. Yoon
>>



-- 
Best Regards, Edward J. Yoon

Mime
View raw message