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>

Reply via email to