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? > > >
