You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In apache/parquet-format#240 there is concern regarding the ability to add a new logical type (in this case GEOMETRY) in a backwards compatible way such that readers that don't yet implement support for the new logical type can still read the file.
throwParquetException("Metadata contains Thrift LogicalType that is not recognized");
I'm not sure what the best behaviour would be here: it will help drive support for new logical types to actually be written to files if it's possible to know that older readers won't choke on them. There was some indication that this would be a bug ( apache/parquet-format#240 (comment) ); however, it is definitely safer for a reader in general to error when it encounters a type that it doesn't understand. On the other hand, Arrow C++ silently drops unregistered extension types which, if I'm understanding the issue, is roughly the same.
It seems like returning NoLogicalType::Make(); would fall back to the physical type here; however, it also seems like that should be opt-in somehow and I don't see an obvious route to "type inference" options or similar at that particular place in the code.
Component(s)
Parquet
The text was updated successfully, but these errors were encountered:
I don't know if it is still the same case, but a few years ago we ran into the same problem in Java (Paquet Java/Parquet MR) with the UUID annotation, back before they supported it. It also caused an error to be thrown. So it seems like it might be the case across libraries.
Describe the enhancement requested
In apache/parquet-format#240 there is concern regarding the ability to add a new logical type (in this case GEOMETRY) in a backwards compatible way such that readers that don't yet implement support for the new logical type can still read the file.
@jorisvandenbossche found the place where the error would be thrown:
arrow/cpp/src/parquet/types.cc
Line 467 in 34f0427
I'm not sure what the best behaviour would be here: it will help drive support for new logical types to actually be written to files if it's possible to know that older readers won't choke on them. There was some indication that this would be a bug ( apache/parquet-format#240 (comment) ); however, it is definitely safer for a reader in general to error when it encounters a type that it doesn't understand. On the other hand, Arrow C++ silently drops unregistered extension types which, if I'm understanding the issue, is roughly the same.
It seems like returning
NoLogicalType::Make();
would fall back to the physical type here; however, it also seems like that should be opt-in somehow and I don't see an obvious route to "type inference" options or similar at that particular place in the code.Component(s)
Parquet
The text was updated successfully, but these errors were encountered: