Re: Mongo column types

2020-02-25 Thread Paul Rogers
Hi Dobes, Looking at the BSON spec [1], it seems that BSON works like JSON: a null isn't a null of some type, it is just null. So, if Drill sees, say, 10 nulls, and has to create a vector to store them, it doesn't know which type to use. In fact, if BSON worked any other way, there could not be

Re: Mongo filter push-down limitations?

2020-02-25 Thread Dobes Vandermeer
Charles, Yeah, makes sense to me, although I guess sorting would have to be applied as well in that case.  Does it push down sorting to the storage plugin? On 2/25/2020 8:21:42 PM, Charles Givre wrote: Hey Paul, Dobes, I was thinking about this, and it would seem that a LIMIT pushdown would be

Re: Mongo filter push-down limitations?

2020-02-25 Thread Dobes Vandermeer
Hi Paul, A simple filter I tried was: WHERE createdAt > TIMESTAMP "2020-02-25" This wasn't pushed down. I think I recall doing another query where it did send a filter to MongoDB so I was curious what I could expect to be applied at the mongodb level and what would not. Would drill be able to

Re: Mongo column types

2020-02-25 Thread Dobes Vandermeer
Hi Paul, It seems to me that the type of the columns in a JSON file is "JSON" - e.g. map, array, number, string, null, or boolean.  In mongodb it is "BSON", which adds dates, integers, and a few other things. Lacking further guidance from the user, I would expect drill to handle all JSON & BSO

Re: JDBC driver for Java 7 vesion

2020-02-25 Thread Paul Rogers
Hi Prabhakar, One more thought if you can't upgrade your app server to Java 8, and if back-porting Drill to Java 7 is not practical. As it turns out, all versions of Java are compatible with your network. So, perhaps you can use a network connection to bridge the two. If your queries are of mo

Re: Mongo filter push-down limitations?

2020-02-25 Thread Charles Givre
Hey Paul, Dobes, I was thinking about this, and it would seem that a LIMIT pushdown would be an obvious candidate for most plugins as well. I don't think that is in the Mongo plugin, but that would be a good addition. --C > On Feb 25, 2020, at 11:19 PM, Paul Rogers wrote: > > d

Re: Mongo filter push-down limitations?

2020-02-25 Thread Paul Rogers
Hi Dobes, Your use case is exactly the one we hope Drill can serve: integrate data from multiple sources. We may have to work on Drill a bit to get it there, however. A quick check of Mongo shows that it does implement filter push down. Check out the class MongoPushDownFilterForScan. The detail

Re: Mongo column types

2020-02-25 Thread Paul Rogers
Hi Dobes, You've run into the classic drawback of runtime schema inference: if Drill never sees a column value in its first sample, then it has no way to "predict the future" and guess what type will eventually show up. So, Drill guesses "nullable INT" which turns out to almost always be wrong.

Mongo filter push-down limitations?

2020-02-25 Thread Dobes Vandermeer
Hi, I am trying to understand drill's performance how we can best use it for our project.  We use mongo as our primary "live" database and I am looking at syncing data to Amazon S3 and using Drill to run reports off of that. I was hoping that I could have Drill connect directly to mongo for som

Mongo column types

2020-02-25 Thread Dobes Vandermeer
Hi, I was experimenting with the mongo storage system and I found that when I query a field that doesn't usually have any value, I get this error "You tried to write a Float8 type when you are using a ValueWriter of type NullableIntWriterImpl." Based on a bit of googling I found that this mea

Re: JDBC driver for Java 7 vesion

2020-02-25 Thread Prabhakar Bhosaale
Thanks Paul, that helps a lot. Regards Prabhakar On Tue, Feb 25, 2020 at 1:30 PM Paul Rogers wrote: > Hi Prabhakar, > > As it turns out, Drill is built for Java 8-13, but we've not built for > Java 7 in quite some time. (Java 7 reached end of life several years back.) > > That said, you can try

Re: JDBC driver for Java 7 vesion

2020-02-25 Thread Paul Rogers
Hi Prabhakar, As it turns out, Drill is built for Java 8-13, but we've not built for Java 7 in quite some time. (Java 7 reached end of life several years back.) That said, you can try to clone the project sources and do a build. Unfortunately, the JDBC driver tends to use quite a bit of Drill's