Please feel free to work out your use case and then outline it on this
thread. We may be able to help you figure out what exactly you would need
to do in order to integrate with Tez.



Bikas



*From:* David Capwell [mailto:[email protected]]
*Sent:* Friday, July 25, 2014 1:31 PM
*To:* [email protected]
*Subject:* Re: DataMovementType impls



Its more of a persisted service atm.  Ill take a look at defining this the
way you spoke of.  Thanks!



On Fri, Jul 25, 2014 at 12:11 PM, Siddharth Seth <[email protected]> wrote:

Doing something like that would involve writing a new Outputs / Inputs, or
modifying the existing ones to write to a different sink. We have
prototyped such changes in the past - to write to HDFS as an example, and
the changes are not very complicated.

This involves changing how the existing Outputs write data, modifying
DataMovementEvent payloads to contain relevant data (where to fetch from),
and changing the Inputs to process this DataMovement payload to actually
fetch the data.

One thing to look at though - is that if you're writing directly to your
own service - will the data be persisted there, until it's read be the
downstream vertex - or does the data effectively need to be streamed
through (consumers and producer tasks running independently of each other,
or consumers and producer tasks must run at the same time).



On Fri, Jul 25, 2014 at 12:03 PM, David Capwell <[email protected]> wrote:

Was looking into saying that when two vertexes share data, that they can
choose to share that data over disk, or over our internal system (so share
over network).  In the cases where data persistence isn't needed and the
vertexes can be on the same node, then to ignore this system.



The use-case isn't really fleshed out at the moment.  Looking to prototype
to see how it would all play together.



On Fri, Jul 25, 2014 at 11:53 AM, Siddharth Seth <[email protected]> wrote:

DataSourceType isn't really used at the moment. Eventually, it would serve
more as a scheduling and failure recovery mechanism more than deciding how
data gets persisted between stages. (This property could potentially be
used by some of the Inputs/Outputs to alter the way they persist data - but
that isn't currently on the cards).

This primarily applies to data written on Edges - are you somehow looking
to modify that, or use the data generated by an intermediate Vertex in a
separate process ?

Getting a little more info on the use case would be helpful in figuring out
how Tez can be used. Are you looking to read data from this internal
service, publish to it, or something else ?



On Fri, Jul 25, 2014 at 11:36 AM, David Capwell <[email protected]> wrote:

Sorry, copy/paste issue.  I was looking at DataSourceType and trying to see
how data gets saved and read between tasks.  The use-case is that we have
an internal service that might be helpful for us, so wanted to prototype
how possible it would be to share data over different mechanism.



On Fri, Jul 25, 2014 at 10:36 AM, Hitesh Shah <[email protected]> wrote:

DataMovementEvent is a construct defined for an Input/Output pair to
communicate with each other. The actual information being passed between
the 2 is not understood by the framework except in that, it is a byte
payload to be handed off from the source to the destination. Users are not
expected to create derived classes of this type but to use the payload
within the object to pass information around.

For example, most of the currently implemented Input-Output pairs ( for
shuffle/broadcast edges ) use the payload to pass the url specifying the
location of the data to be fetched.

thanks
— HItesh


On Jul 25, 2014, at 10:23 AM, David Capwell <[email protected]> wrote:

> So going through the code and not sure where the real logic of
DataMovementType gets used.
>
> I see that in DagTypeConverts it can convert between DataMovementType and
PlanEdgeDataMovementType, but once that happens I don't really see a way to
implement any of these types.  Where is the implementations defined? Is
there any way to define my own impls?
>
> Thanks for your time.

-- 
CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to 
which it is addressed and may contain information that is confidential, 
privileged and exempt from disclosure under applicable law. If the reader 
of this message is not the intended recipient, you are hereby notified that 
any printing, copying, dissemination, distribution, disclosure or 
forwarding of this communication is strictly prohibited. If you have 
received this communication in error, please contact the sender immediately 
and delete it from your system. Thank You.

Reply via email to