Ya I tried that:

 select `user` from
`profiles/2aa32e9e-bdae-8949-8461-c14dafe63ee0.sys.drill` ;
+---------------+
|     user      |
+---------------+
| root  |
+---------------+

but this works:

 select t.`user` from
`profiles/2aa32e9e-bdae-8949-8461-c14dafe63ee0.sys.drill` t ;
+---------+
|  user   |
+---------+
| cmatta  |
+---------+



On Tue, Jun 30, 2015 at 3:50 PM, Christopher Matta <[email protected]> wrote:

> It would seem that user is a protected word that Drill uses to return your
> username. Try specifying user without backticks on any dataset:
>
> 0: jdbc:drill:zk=sen11:5181,sen12:5181> select user from sys.version
> . . . . . . . . . . . . . . . . . . . > ;
> +---------+
> |  user   |
> +---------+
> | cmatta  |
> +---------+
> 1 row selected (0.093 seconds)
> 0: jdbc:drill:zk=sen11:5181,sen12:5181> select user from tweets_view limit
> 10;
> +---------+
> |  user   |
> +---------+
> | cmatta  |
> | cmatta  |
> | cmatta  |
> | cmatta  |
> | cmatta  |
> | cmatta  |
> | cmatta  |
> | cmatta  |
> | cmatta  |
> | cmatta  |
> +---------+
> 10 rows selected (1.5 seconds)
>
> Re-run your first query with the user keyword surrounded by back-ticks.
> ​
>
> Chris Matta
> [email protected]
> 215-701-3146
>
> On Tue, Jun 30, 2015 at 3:41 PM, Andy Pernsteiner <
> [email protected]
> > wrote:
>
> > I decided to embark on a short journey into querying drill profiles to
> get
> > interesting statistics from a shared cluster (where I have root priv's)
> >
> > What I noticed was that if I attempt to query on the 'user' field within
> > the JSON file (which appears as the element), that drill returns to me
> the
> > user who I am currently impersonating...not the user who originally ran
> the
> > query:
> >
> > (drill 1.0)
> >
> > /usr/bin/sqlline -u jdbc:drill: -n root
> >
> > then:
> >
> > select user from
> `profiles/2aa32e9e-bdae-8949-8461-c14dafe63ee0.sys.drill`
> > ;
> > +-------+
> > | user  |
> > +-------+
> > | *root*  |
> > +-------+
> >
> > cat 2aa32e9e-bdae-8949-8461-c14dafe63ee0.sys.drill|egrep -o
> > 'user\":\"[a-z]+\"'
> >
> > user":"apernsteiner"
> >
> >
> >
> > Now, I stumbled across a workaround, which is to alias the table (t) and
> > prefix the 'user' column in the resultset w/ the table alias :
> >
> > 0: jdbc:drill:> select t.`user` from
> > `profiles/2aa32e9e-bdae-8949-8461-c14dafe63ee0.sys.drill` t ;
> > +---------+
> > |  user   |
> > +---------+
> > | apernsteiner  |
> > +---------+
> >
> >
> > Is this expected?  I could understand if Drill would only return valid
> data
> > if I properly aliased and subscripted to get to the element...however:
> why
> > would it return the logged in username in this query if I neglected to do
> > so?
> >
> >
> >
> >
> > --
> >  Andy Pernsteiner
> >  Manager, Field Enablement
> > ph: 206.228.0737
> >
> > www.mapr.com
> >
> > Now Available - Free Hadoop On-Demand Training
> > <
> >
> http://www.mapr.com/training?utm_source=Email&utm_medium=Signature&utm_campaign=Free%20available
> > >
> >
>



-- 
 Andy Pernsteiner
 Manager, Field Enablement
ph: 206.228.0737

www.mapr.com

Now Available - Free Hadoop On-Demand Training
<http://www.mapr.com/training?utm_source=Email&utm_medium=Signature&utm_campaign=Free%20available>

Reply via email to