If you want pushdown, you'd either need to add a new optimizer rule that
understood your function or use a function that support udf.

On Tue, Apr 21, 2015 at 9:24 AM, Christopher Matta <[email protected]> wrote:

> Thanks Jacques, I'll take a look. In this case would predicate queries end
> up doing full scans of the data?
>
> Chris Matta
> [email protected]
> 215-701-3146
>
> On Tue, Apr 21, 2015 at 11:55 AM, Jacques Nadeau <[email protected]>
> wrote:
>
> > It doesn't look like the key has any UTF8 data in it.  I recommend you
> > create a UDF that breaks the bytes apart into the separate sections
> using a
> > complex output.  This way you could write something like this:
> >
> > select row.metric, row.tag[0].key, row.tag[0].value (
> > SELECT OPENTSDB_ROW(rowkey) as row from hbase.t1
> > )x
> >
> > The OPENTSDB_ROW function would take in a VarBinary and return a
> > ComplexWriter.  The code would then map the bytes to a logical structure
> > like this:
> >
> > {
> >   metric: xxx,
> >   time: xxx,
> >   tags: [
> >     {key: xxx, value xxx},
> >     {key: xxx, value xxx}
> >   ]
> > }
> >
> > On Tue, Apr 21, 2015 at 8:38 AM, Christopher Matta <[email protected]>
> > wrote:
> >
> > > I’m trying to use Drill to query time-series data stored in OpenTSDB
> > > <http://opentsdb.net/>. The row keys are supposed to be byte array
> > encoded
> > > according to this schema:
> > > http://opentsdb.net/docs/build/html/user_guide/backends/hbase.html
> > >
> > > When trying to do a simple CONVERT_FROM I get the following results:
> > >
> > > 0: jdbc:drill:zk=172.16.1.175:5181,172.16.1.1> select
> > > CONVERT_FROM(row_key, 'UTF8') from tsdb limit 100;
> > > +------------+
> > > |   EXPR$0   |
> > > +------------+
> > > | U5p |
> > > | U5p! |
> > > | U5p" |
> > > | U5p% |
> > > | U5p& |
> > > | U5p* |
> > > | U5"� |
> > > | U5"�! |
> > >
> > > Which is a long way off of what’s described in the opentsdb schema
> page.
> > >
> > > Any tips for properly querying this kind of data?
> > >
> > > Chris Matta
> > > [email protected]
> > > 215-701-3146
> > > ​
> > >
> >
>

Reply via email to