Input is here: https://gist.github.com/tdunning/07ce66e7e4d4af41afd7

Output is here: https://gist.github.com/tdunning/3aa841c56bfcdc0ab90e

log-synth schema for generating input data is here:
https://gist.github.com/tdunning/638dd52c00569ffa9582


Preferred syntax would be like

select flatten(t, v1, v2) from ...




On Fri, May 29, 2015 at 7:04 AM, Neeraja Rentachintala <
[email protected]> wrote:

> Ted
> can you pls give an example with few data elements in a, b and the expected
> output you are looking from the query.
>
> -Neeraja
>
> On Fri, May 29, 2015 at 6:43 AM, Ted Dunning <[email protected]>
> wrote:
>
> > I have two arrays.  Their elements are correlated times and values.  I
> > would like to flatten them into rows, each with two elements.
> >
> > The query
> >
> >    select flatten(a), flatten(b) from ...
> >
> > doesn't work because I get the cartesian product (of course).  The query
> >
> >    select flatten(a, b) from ...
> >
> > also doesn't work because flatten doesn't have a multi-argument form.
> >
> > Going crazy, this query kind of sort of almost works, but not really:
> >
> >      select r.x.`key`, flatten(r.x.`value`)  from (
> >
> >          select flatten(kvgen(x)) as x from ...) r;
> >
> > What I really want to see is something like this:
> >    select zip(flatten(a), flatten(b)) from ...
> >
> > Any pointers?  Is my next step to write a UDF?
> >
>

Reply via email to