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