...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package testutils
18
19 import (
20 "reflect"
21
22 "github.com/apache/arrow/go/v15/parquet"
23 )
24
25 var typeToParquetTypeMap = map[reflect.Type]parquet.Type{
26 reflect.TypeOf(true): parquet.Types.Boolean,
27 reflect.TypeOf(int32(0)): parquet.Types.Int32,
28 reflect.TypeOf(int64(0)): parquet.Types.Int64,
29 reflect.TypeOf(float32(0)): parquet.Types.Float,
30 reflect.TypeOf(float64(0)): parquet.Types.Double,
31 reflect.TypeOf(parquet.ByteArray{}): parquet.Types.ByteArray,
32 reflect.TypeOf(parquet.Int96{}): parquet.Types.Int96,
33 reflect.TypeOf(parquet.FixedLenByteArray{}): parquet.Types.FixedLenByteArray,
34 }
35
36 func TypeToParquetType(typ reflect.Type) parquet.Type {
37 ret, ok := typeToParquetTypeMap[typ]
38 if !ok {
39 panic("invalid type for parquet type")
40 }
41 return ret
42 }
43
View as plain text