Here is the verbose error message the query.   If I query fh.`2015/12/05/22` 
directly it works fine.   Thanks for the help.

select  count(i0) from    fh.`2015/12` where dir0 in ('05') and dir1 in 
('22','23')


            VALIDATION ERROR: From line 1, column 27 to line 1, column 28: 
Table 'fh.2015/12' not found



  (org.apache.calcite.tools.ValidationException) 
org.apache.calcite.runtime.CalciteContextException: From line 1, column 27 to 
line 1, column 28: Table 'fh.2015/12' not found
    org.apache.calcite.prepare.PlannerImpl.validate():179
    org.apache.calcite.prepare.PlannerImpl.validateAndGetType():188
    
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode():447
    
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert():190
    org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():159
    org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():184
    org.apache.drill.exec.work.foreman.Foreman.runSQL():905
    org.apache.drill.exec.work.foreman.Foreman.run():244
    java.util.concurrent.ThreadPoolExecutor.runWorker():1145
    java.util.concurrent.ThreadPoolExecutor$Worker.run():615
    java.lang.Thread.run():745
  Caused By (org.apache.calcite.runtime.CalciteContextException) From line 1, 
column 27 to line 1, column 28: Table 'fh.2015/12' not found
    sun.reflect.NativeConstructorAccessorImpl.newInstance0():-2
    sun.reflect.NativeConstructorAccessorImpl.newInstance():57
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance():45
    java.lang.reflect.Constructor.newInstance():526
    org.apache.calcite.runtime.Resources$ExInstWithCause.ex():405
    org.apache.calcite.sql.SqlUtil.newContextException():685
    org.apache.calcite.sql.SqlUtil.newContextException():673
    org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError():3930
    org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl():106
    org.apache.calcite.sql.validate.AbstractNamespace.validate():86
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():877
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():863
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2777
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2762
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():2985
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():86
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():877
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():863
    org.apache.calcite.sql.SqlSelect.validate():210
    
org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():837
    org.apache.calcite.sql.validate.SqlValidatorImpl.validate():551
    org.apache.calcite.prepare.PlannerImpl.validate():177
    org.apache.calcite.prepare.PlannerImpl.validateAndGetType():188
    
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode():447
    
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert():190
    org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():159
    org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():184
    org.apache.drill.exec.work.foreman.Foreman.runSQL():905
    org.apache.drill.exec.work.foreman.Foreman.run():244
    java.util.concurrent.ThreadPoolExecutor.runWorker():1145
    java.util.concurrent.ThreadPoolExecutor$Worker.run():615
    java.lang.Thread.run():745
  Caused By (org.apache.calcite.sql.validate.SqlValidatorException) Table 
'fh.2015/12' not found
    sun.reflect.NativeConstructorAccessorImpl.newInstance0():-2
    sun.reflect.NativeConstructorAccessorImpl.newInstance():57
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance():45
    java.lang.reflect.Constructor.newInstance():526
    org.apache.calcite.runtime.Resources$ExInstWithCause.ex():405
    org.apache.calcite.runtime.Resources$ExInst.ex():514
    org.apache.calcite.sql.SqlUtil.newContextException():685
    org.apache.calcite.sql.SqlUtil.newContextException():673
    org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError():3930
    org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl():106
    org.apache.calcite.sql.validate.AbstractNamespace.validate():86
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():877
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():863
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2777
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom():2762
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect():2985
    org.apache.calcite.sql.validate.SelectNamespace.validateImpl():60
    org.apache.calcite.sql.validate.AbstractNamespace.validate():86
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace():877
    org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery():863
    org.apache.calcite.sql.SqlSelect.validate():210
    
org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression():837
    org.apache.calcite.sql.validate.SqlValidatorImpl.validate():551
    org.apache.calcite.prepare.PlannerImpl.validate():177
    org.apache.calcite.prepare.PlannerImpl.validateAndGetType():188
    
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode():447
    
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert():190
    org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():159
    org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():184
    org.apache.drill.exec.work.foreman.Foreman.runSQL():905
    org.apache.drill.exec.work.foreman.Foreman.run():244
    java.util.concurrent.ThreadPoolExecutor.runWorker():1145
    java.util.concurrent.ThreadPoolExecutor$Worker.run():615
    java.lang.Thread.run():745

> On Dec 21, 2015, at 10:33 AM, Nathan Griffith <[email protected]> wrote:
> 
> Hi Josh,
> 
> When you say the second query doesn't work, what is the exact
> behavior? Does it return zero rows?
> 
> --Nathan
> 
> On Fri, Dec 18, 2015 at 3:55 PM, Spoutable <[email protected]> wrote:
>> I am querying json files on s3 using the s3a storage plugin on drill 1.3
>> 
>> The following query works fine
>> select  count(i0) from    fh.`2015/12/05` where dir0 = '23’;
>> 
>> This next query doesnt
>> select  count(i0) from    fh.`2015/12/` where dir0 = '05' and dir1 = '23’;
>> 
>> My understanding is that the two queries were synonymous.
>> 
>> Ultimately I am working towards the following scenario.
>> select  count(i0)
>> from    fh.`2015/12`
>> where   ((dir0 = '05' and dir1 = '23') or (dir0 = '06' and dir1 = '00’))
>> 
>> My files are organized in such a way that the time of the data in the files 
>> isnt perfectly aligned with the time / location of the files themselves.   
>> For reference, Im using aws firehose in case anybody else is using that too.
>> 
>> Has anybody run into the first problem or second problem and come up with a 
>> good solution to querying subsets of files in adjacent directories?
>> 
>> Cheers,
>> Josh Schlesser

Reply via email to