dmgcodevil opened a new issue #1713:
URL: https://github.com/apache/iceberg/issues/1713


   I have two partitions created using transformation functions: `day` and 
`bucket`. 
   
   Schema: 
   
   ```
   (
       security_id varchar,
       frontdoor_timestamp timestamp(3) with time zone
    )
    WITH (
       format = 'PARQUET',
       partitioning = ARRAY['day(frontdoor_timestamp)','bucket(security_id, 
10)']
    )
   ```
   
   i.e. `struct: struct<1000: frontdoor_timestamp_day: optional date, 1001: 
security_id_bucket: optional int>`
   
   
   I'd like to query by day:
   
   ```
   val tasks = 
scan.filter(Expressions.equal(Expressions.day[String]("frontdoor_timestamp"), 
"2020-10-20"))
         .select("security_id")
         .planTasks().toList
   ````
   
   
   Getting the following error: 
   
   ```
   Exception in thread "main" 
org.apache.iceberg.exceptions.ValidationException: Cannot find field 'day' in 
struct: struct<1000: frontdoor_timestamp_day: optional date, 1001: 
security_id_bucket: optional int>
        at 
org.apache.iceberg.exceptions.ValidationException.check(ValidationException.java:42)
        at 
org.apache.iceberg.expressions.NamedReference.bind(NamedReference.java:46)
        at 
org.apache.iceberg.expressions.NamedReference.bind(NamedReference.java:27)
        at 
org.apache.iceberg.expressions.UnboundPredicate.bind(UnboundPredicate.java:105)
        at 
org.apache.iceberg.expressions.Binder$BindVisitor.predicate(Binder.java:145)
        at 
org.apache.iceberg.expressions.Binder$BindVisitor.predicate(Binder.java:104)
        at 
org.apache.iceberg.expressions.ExpressionVisitors.visit(ExpressionVisitors.java:283)
        at org.apache.iceberg.expressions.Binder.bind(Binder.java:62)
        at 
org.apache.iceberg.expressions.ManifestEvaluator.<init>(ManifestEvaluator.java:65)
        at 
org.apache.iceberg.expressions.ManifestEvaluator.forPartitionFilter(ManifestEvaluator.java:60)
        at 
org.apache.iceberg.ManifestGroup.lambda$entries$7(ManifestGroup.java:189)
        at 
com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalLoadingCache.lambda$new$0(UnboundedLocalCache.java:928)
        at 
com.github.benmanes.caffeine.cache.UnboundedLocalCache.lambda$computeIfAbsent$2(UnboundedLocalCache.java:237)
        at 
java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
        at 
com.github.benmanes.caffeine.cache.UnboundedLocalCache.computeIfAbsent(UnboundedLocalCache.java:233)
        at 
com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:111)
        at 
com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:66)
        at 
org.apache.iceberg.ManifestGroup.lambda$entries$8(ManifestGroup.java:197)
        at 
org.apache.iceberg.relocated.com.google.common.collect.Iterators$5.computeNext(Iterators.java:637)
        at 
org.apache.iceberg.relocated.com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)
        at 
org.apache.iceberg.relocated.com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)
        at 
org.apache.iceberg.relocated.com.google.common.collect.Iterators$5.computeNext(Iterators.java:635)
        at 
org.apache.iceberg.relocated.com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)
        at 
org.apache.iceberg.relocated.com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)
        at 
org.apache.iceberg.relocated.com.google.common.collect.Iterators$5.computeNext(Iterators.java:635)
        at 
org.apache.iceberg.relocated.com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)
        at 
org.apache.iceberg.relocated.com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)
        at 
org.apache.iceberg.relocated.com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:42)
        at 
org.apache.iceberg.relocated.com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:42)
        at 
org.apache.iceberg.util.ParallelIterable$ParallelIterator.submitNextTask(ParallelIterable.java:113)
        at 
org.apache.iceberg.util.ParallelIterable$ParallelIterator.checkTasks(ParallelIterable.java:101)
        at 
org.apache.iceberg.util.ParallelIterable$ParallelIterator.hasNext(ParallelIterable.java:138)
        at 
org.apache.iceberg.relocated.com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:42)
        at 
org.apache.iceberg.relocated.com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:42)
        at 
org.apache.iceberg.relocated.com.google.common.collect.Iterators$ConcatenatedIterator.getTopMetaIterator(Iterators.java:1309)
        at 
org.apache.iceberg.relocated.com.google.common.collect.Iterators$ConcatenatedIterator.hasNext(Iterators.java:1325)
        at 
org.apache.iceberg.io.CloseableIterator$1.hasNext(CloseableIterator.java:48)
        at 
org.apache.iceberg.util.BinPacking$PackingIterator.hasNext(BinPacking.java:106)
        at 
org.apache.iceberg.io.CloseableIterator$1.hasNext(CloseableIterator.java:48)
        at 
org.apache.iceberg.io.CloseableIterable$3$1.hasNext(CloseableIterable.java:104)
        at 
scala.collection.convert.Wrappers$JIteratorWrapper.hasNext(Wrappers.scala:43)
        at scala.collection.Iterator.foreach(Iterator.scala:943)
        at scala.collection.Iterator.foreach$(Iterator.scala:943)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
        at scala.collection.IterableLike.foreach(IterableLike.scala:74)
        at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
        at scala.collection.generic.Growable.$plus$plus$eq(Growable.scala:62)
        at scala.collection.generic.Growable.$plus$plus$eq$(Growable.scala:53)
        at 
scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:184)
        at 
scala.collection.mutable.ListBuffer.$plus$plus$eq(ListBuffer.scala:47)
        at scala.collection.TraversableLike.to(TraversableLike.scala:725)
        at scala.collection.TraversableLike.to$(TraversableLike.scala:722)
        at scala.collection.AbstractTraversable.to(Traversable.scala:108)
        at scala.collection.TraversableOnce.toList(TraversableOnce.scala:332)
        at scala.collection.TraversableOnce.toList$(TraversableOnce.scala:332)
        at scala.collection.AbstractTraversable.toList(Traversable.scala:108)
        at IcebergQueryApp$.main(IcebergQueryApp.scala:50)
        at IcebergQueryApp.main(IcebergQueryApp.scala)
   
   Process finished with exit code 1
   ```
   
   
   What am I doing wrong?
   
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to