hama-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Behroz Sikander <behro...@gmail.com>
Subject Re: BSPClass with parameters
Date Thu, 09 Jul 2015 02:08:49 GMT
*>>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
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message