Documentation ¶
Index ¶
- Constants
- func ArrowColToParquetCol(field arrow.Field, col array.Interface) ([]interface{}, error)
- func CmpIntBinary(as string, bs string, order string, signed bool) bool
- func DeepCopy(src, dst interface{})
- func HeadToUpper(str string) string
- func IsChildPath(parent, child string) bool
- func Max(table FuncTable, a interface{}, b interface{}) interface{}
- func Min(table FuncTable, a interface{}, b interface{}) interface{}
- func NewLogicalTypeFromConvertedType(schemaElement *parquet.SchemaElement, info *Tag) *parquet.LogicalType
- func NewLogicalTypeFromFieldsMap(mp map[string]string) (*parquet.LogicalType, error)
- func NewSchemaElementFromTagMap(info *Tag) (*parquet.SchemaElement, error)
- func NewTable(rowLen, colLen int) [][]interface{}
- func PathStrIndex(str string) int
- func PathToStr(path []string) string
- func ReformPathStr(pathStr string) string
- func SizeOf(val reflect.Value) int64
- func Str2Bool(val string) (bool, error)
- func Str2Int32(val string) (int32, error)
- func StrToPath(str string) []string
- func StringToVariableName(str string) string
- func TransposeTable(table [][]interface{}) [][]interface{}
- type FuncTable
- type Tag
Constants ¶
const PAR_GO_PATH_DELIMITER = "\x01"
Variables ¶
This section is empty.
Functions ¶
func ArrowColToParquetCol ¶
ArrowColToParquetCol creates column with native go values from column with arrow values according to the rules described in the Type section in the project's README.md file.
If `col` contains Null value but `field` is not marked as Nullable this results in an error.
func HeadToUpper ¶
Convert the first letter of a string to uppercase
func IsChildPath ¶
func NewLogicalTypeFromConvertedType ¶
func NewLogicalTypeFromConvertedType(schemaElement *parquet.SchemaElement, info *Tag) *parquet.LogicalType
func NewLogicalTypeFromFieldsMap ¶
func NewLogicalTypeFromFieldsMap(mp map[string]string) (*parquet.LogicalType, error)
func NewSchemaElementFromTagMap ¶
func NewSchemaElementFromTagMap(info *Tag) (*parquet.SchemaElement, error)
func NewTable ¶
func NewTable(rowLen, colLen int) [][]interface{}
NewTable creates empty table with transposed columns and records
func StringToVariableName ¶
Convert string to a golang variable name
func TransposeTable ¶
func TransposeTable(table [][]interface{}) [][]interface{}
TransposeTable transposes a table's rows and columns once per arrow record. We need to transpose the rows and columns because parquet-go library writes data row by row while the arrow library provides the data column by column.
Types ¶
type FuncTable ¶
type FuncTable interface { LessThan(a interface{}, b interface{}) bool MinMaxSize(minVal interface{}, maxVal interface{}, val interface{}) (interface{}, interface{}, int32) }
func FindFuncTable ¶
func FindFuncTable(pT *parquet.Type, cT *parquet.ConvertedType, logT *parquet.LogicalType) FuncTable
type Tag ¶
type Tag struct { InName string ExName string Type string KeyType string ValueType string ConvertedType string KeyConvertedType string ValueConvertedType string Length int32 KeyLength int32 ValueLength int32 Scale int32 KeyScale int32 ValueScale int32 Precision int32 KeyPrecision int32 ValuePrecision int32 IsAdjustedToUTC bool KeyIsAdjustedToUTC bool ValueIsAdjustedToUTC bool FieldID int32 KeyFieldID int32 ValueFieldID int32 Encoding parquet.Encoding KeyEncoding parquet.Encoding ValueEncoding parquet.Encoding OmitStats bool KeyOmitStats bool ValueOmitStats bool RepetitionType parquet.FieldRepetitionType KeyRepetitionType parquet.FieldRepetitionType ValueRepetitionType parquet.FieldRepetitionType LogicalTypeFields map[string]string KeyLogicalTypeFields map[string]string ValueLogicalTypeFields map[string]string }
`parquet:"name=Name, type=FIXED_LEN_BYTE_ARRAY, length=12"`