Error attempting to save a slightly large dataframe
I'm getting an error while attempting to serialize a slightly large DataFrame with more than 400 million rows. Here's how to reproduce: ``` using DataFrames, Parquet2 df = DataFrame(id=collect(1:417399456)) Parquet2.writefile("test.parq", df) ``` Error is as follows: ``` ERROR: InexactError: trunc(Int32, 3339195648) Stacktrace: [1] throw_inexacterror(f::Symbol, ::Type{Int32}, val::Int64) @ Core ./boot.jl:634 [2] checked_trunc_sint @ ./boot.jl:656 [inlined] [3] toInt32 @ ./boot.jl:693 [inlined] [4] Int32 @ ./boot.jl:783 [inlined] [5] convert @ ./number.jl:7 [inlined] [6] PageHeader @ ~/.julia/packages/Parquet2/R3pbE/src/Metadata/Metadata.jl:216 [inlined] [7] #PageHeader#72 @ ~/.julia/packages/Thrift2/ZmeKV/src/codegen.jl:67 [inlined] [8] Parquet2.Metadata.PageHeader(pw::Parquet2.PageWriter{Parquet2.ParqInt64, Parquet2.ParqInt64, SubArray{…}, ComposedFunction{…}}) @ Parquet2 ~/.julia/packages/Parquet2/R3pbE/src/write.jl:356 [9] write(io::IOStream, pw::Parquet2.PageWriter{Parquet2.ParqInt64, Parquet2.ParqInt64, SubArray{…}, ComposedFunction{…}}) @ Parquet2 ~/.julia/packages/Parquet2/R3pbE/src/write.jl:468 [10] _write_page!(io::IOStream, cw::Parquet2.ColumnWriter{…}, pw::Parquet2.PageWriter{…}) @ Parquet2 ~/.julia/packages/Parquet2/R3pbE/src/write.jl:588 [11] _writepages_default!(io::IOStream, cw::Parquet2.ColumnWriter{…}, s::Parquet2.ParqInt64, compress::Function) @ Parquet2 ~/.julia/packages/Parquet2/R3pbE/src/write.jl:612 [12] #_writepages!#167 @ ~/.julia/packages/Parquet2/R3pbE/src/write.jl:622 [inlined] [13] _writepages! @ ~/.julia/packages/Parquet2/R3pbE/src/write.jl:616 [inlined] [14] write(io::IOStream, cw::Parquet2.ColumnWriter{Vector{Int64}, Parquet2.ParqInt64, Nothing, ComposedFunction{typeof(Snappy.compress), Type{Vector}}}) @ Parquet2 ~/.julia/packages/Parquet2/R3pbE/src/write.jl:561 [15] _writetable_column!(fw::Parquet2.FileWriter{…}, name::String, i::Int64, v::Vector{…}, t::Parquet2.ParqInt64, type::Type, meta::Dict{…}, cols::Vector{…}) @ Parquet2 ~/.julia/packages/Parquet2/R3pbE/src/write.jl:783 [16] writetable!(fw::Parquet2.FileWriter{IOStream}, tbl::Any) @ Parquet2 ~/.julia/packages/Parquet2/R3pbE/src/write.jl:828 [17] writeiterable!(fw::Parquet2.FileWriter{IOStream}, tbls::Any) @ Parquet2 ~/.julia/packages/Parquet2/R3pbE/src/write.jl:875 [18] writefile! @ ~/.julia/packages/Parquet2/R3pbE/src/write.jl:888 [inlined] [19] #writefile#177 @ ~/.julia/packages/Parquet2/R3pbE/src/write.jl:903 [inlined] [20] writefile @ ~/.julia/packages/Parquet2/R3pbE/src/write.jl:901 [inlined] [21] #181 @ ~/.julia/packages/Parquet2/R3pbE/src/write.jl:910 [inlined] [22] open(f::Parquet2.var"#181#182"{@Kwargs{}, String, DataFrame}, args::String; kwargs::@Kwargs{write::Bool}) @ Base ./io.jl:396 [23] #writefile#180 @ ~/.julia/packages/Parquet2/R3pbE/src/write.jl:909 [inlined] [24] writefile(path::String, tbl::Any) @ Parquet2 ~/.julia/packages/Parquet2/R3pbE/src/write.jl:908 [25] top-level scope @ REPL[3]:1 ``` I'm using Julia v1.10.4, DataFrames v1.7.0, Parquet2 v0.2.27. Any hint?
issue