drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hanifi Gunes <hgu...@maprtech.com>
Subject Re: List type
Date Mon, 19 Oct 2015 22:13:38 GMT
Sounds great. I will look at both the union vector and type promotion stuff
very soon. It would be nice if we could work on bringing up ListVector
alive as well. I will file a JIRA for this.

On Mon, Oct 19, 2015 at 2:43 PM, Steven Phillips <steven@dremio.com> wrote:

> In the work I did for the Union types, (see PR
> https://github.com/apache/drill/pull/207), I actually went down that exact
> path. In that branch, if Union type is enable, any vectors created through
> the ComplexWriter interface will not create any Repeated type vectors.
>
> On Mon, Oct 19, 2015 at 2:29 PM, Hanifi Gunes <hgunes@maprtech.com> wrote:
>
> > If I am not wrong currently we use
> > i) RepeatedInt for single
> > ii) RepeatedList of RepeatedInt for double
> > iii) RepeatedList of RepeatedList of RepeatedInt for triple arrays.
> >
> > I think we should refactor vector design in such way that we will only
> have
> > a ListVector eliminating the need for all Repeated* vectors as well as
> code
> > generation for those so that we would represent all these above types via
> > i) ListVector of IntVector
> > ii) ListVector of ListVector of IntVector
> > iii) ListVector of ListVector of ListVector of IntVector
> >
> > The idea here is to favor aggregation over inheritance, which is less
> > redundant and more powerful. Thinking about it, we do not even need to
> > maintain RepeatedMapVector as it will simply be ListVector of MapVector
> in
> > the new dialect.
> >
> > -Hanifi
> >
> > ps: As an fyi, even though it does not include a JIRA for abstracting
> out a
> > ListVector which I discussed over the past months with many devs, [1]
> has a
> > list of items in place for refactoring vectors (and possibly the type
> > system).
> >
> > 1: https://issues.apache.org/jira/browse/DRILL-2147
> >
> >
> > On Mon, Oct 19, 2015 at 1:28 PM, Julien Le Dem <julien@dremio.com>
> wrote:
> >
> > > I'm looking at the type system in Drill and I have the following
> > question:
> > > Why is there a LIST type and a REPEATED field?
> > > It sounds like there should only one of those 2 concepts.
> > > Could someone describe how the following are represented?
> > > - one dimensional list of int
> > > - 2 dimensional list of ints
> > > - 3 dimensional list of ints
> > > Thank you
> > >
> > > --
> > > Julien
> > >
> >
>

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