Comments (11)
It's helpful to post backtraces as that can often quickly show where the error is
from arrow-julia.
It prints out alot of stuff. It's like 11pm. I will try to get a MWE together.
from arrow-julia.
Alright, so the error here is because it doesn't know how to map Symbol
or Char
columns to arrow format. I guess in both cases, we should just map them to strings.
from arrow-julia.
I guess the biggest question is if we're ok not having round-tripping in these cases; i.e. we could allow writing columns of Symbol
/Char
, but they'll be read back in as strings. @bkamins @nalimilan , any thoughts/preferences here?
from arrow-julia.
Not sure. Maybe see what Feather.jl does? Also of interest is what RCall should do with CategoricalArray{T}
when !(T<:AbstractString)
, as R only supports string factors (JuliaInterop/RCall.jl#331).
from arrow-julia.
I think the priority is to allow saving things with as little problems as possible. Symbol
and Char
are normal in Julia.
Given your comment I understand that we have a choice:
- either error on them
- or convert to
String
when saving
I would prefer the option 2. maybe with a @warn
about conversion
from arrow-julia.
I mean, Feather.jl will just be a wrapper around Arrow.jl pretty soon, so they'll do whatever we do. I also think I like the idea of option 2 w/ a warning. I think people should understand that Arrow.jl isn't meant to be a serialization package, even though it can handle a wide range of types of objects. But even still, I think doing some automatic conversions will be convenient.
from arrow-julia.
Agreed
from arrow-julia.
There is a way to store arbitrary metadata right? We should remember them as Julia:Symbol
and Julia:Char
types. So in Python and r, they get read as String
but in Julia we can use the metadata to restore them as Symbol
and Char
?
from arrow-julia.
Ah, I forgot about that; yes, that's a pretty good idea. I'll have to see how we can work the plumbing in for that.
from arrow-julia.
Ok, took a bit of work, but I think I've got it all working for Symbol/Char. #11
from arrow-julia.
Related Issues (20)
- Custom type cannot round trip (Colors.jl) HOT 1
- colmetadata does not read custom metadata with multiple writes
- `getindex` broken with `SVector{3, UInt}` in the presence of missing data HOT 2
- Removing .arrow files without closing Julia seems impossible in Windows HOT 18
- support Dates.CompoundPeriod in deserialization?
- copy does not copy to standard Julia Types HOT 5
- Unexpected allocations HOT 2
- Type instability in getcolumn
- Cannot append DictEncode columns to Stream
- Arrow-over-HTTP client and server examples in Julia
- Deeply nested structs cause long compilation times HOT 9
- `snappy_jll v1.2.0` lead to Arrow_jll failed to build HOT 4
- Deserialization as Vector{SubArray} breaks `push!` on DataFrame HOT 7
- Add support for FileIO HOT 2
- interoperability with round-tripping through data format broken (x-issue) HOT 1
- Arrow.jl fails to precompile with error "Magic file identifier "TZjf" not found." HOT 5
- Failure to read valid file
- release: "Verify release" job fails on macOS GitHub Actions runner
- ci: Enable Dependabot for GitHub Actions
- Cut a new release with TranscodingStreams v0.11 compat? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arrow-julia.