I think the query should fail.  If someone has a real use case they can
share where they've stored data this way for a good reason, I'm more than
willing to discuss and find an alternative behavior.

On Wed, Nov 19, 2014 at 2:22 PM, rahul challapalli <
[email protected]> wrote:

> Thanks for your responses. Wrapping the records into an array makes sense.
> However there still could be scenarios where the json string contains
> multiple records without them being part of an array. What should be the
> expected behavior in that case?
>
> - Rahul
>
> On Wed, Nov 19, 2014 at 12:51 PM, Jacques Nadeau <[email protected]>
> wrote:
>
> > You'll need to add a comma if you want to do this as [ {}{} ] is not
> > valid.  Only [ {}, {} ] is.
> >
> > On Wed, Nov 19, 2014 at 12:48 PM, Tomer Shiran <[email protected]>
> wrote:
> >
> > > If you wrap the two maps in an array [{...}{...}] then the convert
> should
> > > work and you can decide whether to use the new flatten function to get
> > two
> > > separate top level records.
> > >
> > >
> > >
> > > > On Nov 20, 2014, at 5:50 AM, rahul challapalli <
> > > [email protected]> wrote:
> > > >
> > > > Hi Drillers,
> > > >
> > > > I just wanted to understand what the expected behavior would be in
> the
> > > > below scenario
> > > >
> > > > My dataset :
> > > >
> > > > 1|{"a":"b"}{"a":"c"}
> > > >
> > > > In the above dataset, I have 2 json records in the second column.
> > However
> > > > the below query just returns the first record as the output
> > > >
> > > > select convert_from(columns[1], 'JSON') from `convert.tbl`;
> > > > +------------+
> > > > |   EXPR$0   |
> > > > +------------+
> > > > | {"a":"b"}  |
> > > > +------------+
> > > >
> > > > Should drill implicitly do a flatten sort of thing and return 2 rows,
> > one
> > > > for each json record?
> > > >
> > > > - Rahul
> > >
> >
>

Reply via email to