Up to my knowledge, currently there is no way to serialize/deserialize a Table or Array. Even if you don't need to serialize data, in a lot of cases you'd like to serialize a data model - data types, column names, and for categorical columns categories. For now, the only option is to reproduce all structures. For some types, like ArrowType it's ugly. Hence, I believe option to serialize/deserialize would be extremely useful.
I see 2 potential options:
- Using serde derive. I believe this might be an overkill, especially if you'd like to place it under a feature flag.
- Implement
to_bytes -> Vec<u8>/from_bytes(data: &[u8]). I think it would be cleaner. Moreover, it looks like Arrow exchange structures (eg. Arrow Stream) might be close to it. C structs should be quite close to raw bytes, so it seems plausible there is an option to dump them. At least, if there is not too many pointers.
Up to my knowledge, currently there is no way to serialize/deserialize a Table or Array. Even if you don't need to serialize data, in a lot of cases you'd like to serialize a data model - data types, column names, and for categorical columns categories. For now, the only option is to reproduce all structures. For some types, like
ArrowTypeit's ugly. Hence, I believe option to serialize/deserialize would be extremely useful.I see 2 potential options:
to_bytes -> Vec<u8>/from_bytes(data: &[u8]). I think it would be cleaner. Moreover, it looks like Arrow exchange structures (eg. Arrow Stream) might be close to it. C structs should be quite close to raw bytes, so it seems plausible there is an option to dump them. At least, if there is not too many pointers.