Thank you! :)

On Tue, Jul 21, 2015 at 10:26 PM, Jinfeng Ni <[email protected]> wrote:

> I'm taking a look at the JIRA you filed :DRILL-3533.  If I could not find a
> fix soon, I'll ask someone in our team to take a further look.
>
>
> On Tue, Jul 21, 2015 at 2:50 PM, Stefán Baxter <[email protected]>
> wrote:
>
> > Hi,
> >
> > I would be super thankful if someone could fix this for us as it's
> impeding
> > our devaluation and testing (Assuming a fix is fairly doable).
> > I would be more than happy to take a look at it myself but I'm nowhere
> near
> > having the required understanding of your inner workings. (I have built
> the
> > project though an and can be running master/head)
> >
> > Regards,
> >  -Stefán
> >
> >
> > On Tue, Jul 21, 2015 at 6:16 PM, Jacques Nadeau <[email protected]>
> > wrote:
> >
> > > Whoa, something strange is going on.
> > >
> > > Expected
> > > select * from dfs.tmp.test2;
> > > +-----------------+
> > > |   dimensions    |
> > > +-----------------+
> > > | {"adults":"A"}  |
> > > +-----------------+
> > >
> > > select p.dimensions as b from dfs.tmp.test2 p;
> > > +-----------------+
> > > |        b        |
> > > +-----------------+
> > > | {"adults":"A"}  |
> > > +-----------------+
> > >
> > > select p.dimensions as b from dfs.tmp.test2 p;
> > > +-----------------+
> > > |        b        |
> > > +-----------------+
> > > | {"adults":"A"}  |
> > > +-----------------+
> > >
> > > select p.dimensions.nonexist as a from dfs.tmp.test2 p;
> > > +-------+
> > > |   b   |
> > > +-------+
> > > | null  |
> > > +-------+
> > >
> > > Unexpected
> > >
> > > select p.dimensions.nonexist as a, p.dimensions as b from dfs.tmp.test2
> > p;
> > > +----+-------+
> > > | a  |   b   |
> > > +----+-------+
> > > | A  | null  |
> > > +----+-------+
> > >
> > > <<both wrong>>
> > >
> > > select p.dimensions as b, p.dimensions.nonexist as a from dfs.tmp.test2
> > p;
> > > +-------+-------+
> > > |   b   |   a   |
> > > +-------+-------+
> > > | null  | null  |
> > > +-------+-------+
> > >
> > > << b is wrong, a is correct>>
> > >
> > > Stefan, not sure what is going on here.  It looks like an issue with
> > > resolution of a nonexistent field in a multilevel structure.  It exists
> > > whether it is Parquet or JSON.  Can you file a JIRA and mark it
> Critical?
> > >
> > >
> > > On Tue, Jul 21, 2015 at 10:46 AM, Stefán Baxter <
> > [email protected]
> > > >
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > all kidding aside then this renders Drill+Parquet unusable for us at
> > the
> > > > moment.
> > > >
> > > > If there is a quick fix then please let me know. :)
> > > >
> > > > Regards,
> > > >  -Stefan
> > > >
> > > > On Tue, Jul 21, 2015 at 5:37 PM, Stefán Baxter <
> > > [email protected]>
> > > > wrote:
> > > >
> > > > > Well,
> > > > >
> > > > > After some more testing it appears that this has nothing to do with
> > > trim.
> > > > > (any non existing nested-value will be pushed aside)
> > > > >
> > > > > select p.dimensions.budgetLevel as `field1`,
> > lower(p.dimensions.adults)
> > > > as
> > > > > `field2` from dfs.tmp.`/test/0_0_0.parquet` as p;
> > > > >
> > > > > also returns:
> > > > > +---------+---------+
> > > > > | field1  | field2  |
> > > > > +---------+---------+
> > > > > | a       | null    |
> > > > > +---------+---------+
> > > > >
> > > > > I just as puzzled though :)
> > > > >
> > > > > Regards,
> > > > >  -Stefan
> > > > >
> > > > > On Tue, Jul 21, 2015 at 5:32 PM, Stefán Baxter <
> > > > [email protected]>
> > > > > wrote:
> > > > >
> > > > >> Hi,
> > > > >>
> > > > >> Here is small trick I think you will like :).
> > > > >>
> > > > >>    - With this minimal dataset as /tmp/test.json:
> > > > >>    {"dimensions":{"adults":"A"}}
> > > > >>
> > > > >>    - Running this:
> > > > >>    select lower(p.dimensions.budgetLevel) as `field1`,
> > > > >>    lower(p.dimensions.adults) as `field2` from
> dfs.tmp.`/test.json`
> > as
> > > > p;
> > > > >>
> > > > >>    - To no surprise returns this:
> > > > >>    +---------+---------+
> > > > >>    | field1  | field2  |
> > > > >>    +---------+---------+
> > > > >>    | null    | a       |
> > > > >>    +---------+---------+
> > > > >>
> > > > >> Here comes the trick(y) part (hold your breath):
> > > > >>
> > > > >>    - With the same data as a Parquet file
> > > > >>    CREATE TABLE dfs.tmp.`/test` AS SELECT * FROM
> > dfs.tmp.`/test.json`;
> > > > >>
> > > > >>    - The same query:
> > > > >>    select lower(p.dimensions.budgetLevel) as `field1`,
> > > > >>    lower(p.dimensions.adults) as `field2` from
> > > > dfs.tmp.`/test/0_0_0.parquet`
> > > > >>    as p;
> > > > >>
> > > > >>    - Return this:
> > > > >>    +---------+---------+
> > > > >>    | field1  | field2  |
> > > > >>    +---------+---------+
> > > > >>    | a       | null    |
> > > > >>    +---------+---------+
> > > > >>
> > > > >> ta ta !
> > > > >>
> > > > >> Best regards,
> > > > >>  -Stefan
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >
> > > >
> > >
> >
>

Reply via email to