Closed rcaudy closed 1 year ago
@rcaudy Do you have a sample file to make it easier to reproduce?
@vbabich here is a reproducer I wrote:
import io.deephaven.engine.util.TableTools
import io.deephaven.parquet.table.ParquetTools
// write a partition table with an int partition column
def part = TableTools.emptyTable(4).update("II = ii")
ParquetTools.writeTable(part, "/tmp/pt-test/intCol=0/part.parquet")
ParquetTools.writeTable(part, "/tmp/pt-test/intCol=1/part.parquet")
// load the partition table
partition_table = ParquetTools.readTable("/tmp/pt-test")
// dump the metadata to the console to see that it is indeed an `intCol`
TableTools.show(partition_table.meta())
Same snippet in Python instead:
from deephaven import empty_table
part = empty_table(4).update("II=ii")
from deephaven.parquet import write, read
write(part, "/tmp/pt-test/intCol=0/part.parquet")
write(part, "/tmp/pt-test/intCol=1/part.parquet")
partition_table = read("/tmp/pt-test")
Description
When using non-
String
partitioning columns (long
in my example), the partition-selection drop-down incorrectly tries to filter as if the values are strings. It wraps them in quotes, causingMatchFilter
parsing to reject the literal.Steps to reproduce
Use a command like:
to load a Parquet table that uses metadata files, a
TableDefinition
, or inferred partitioning column types from key=value directory name pairs. If any of the partitioning column types is not aString
, you should see this error or similar.Note that the automatic first-partition retrieval fails, as does selecting a partition to filter to.
coalesce()
orwhere()
on the table to skip this servers as a workaround.Expected results
The table to render properly.
Actual results
A table widget with an error loaded. See screeenshot.
Additional details and attachments
Here's the exception stack trace from the server-side, as displayed in the console:
Here's a screenshot of the issue:
Versions
Version 0.27.0