Open akvlad opened 1 month ago
Thanks for opening an Issue! Please star this repository to motivate developers! :star:
var t = &Table {
Name: "experimental"
Path "...."
Fields {"a", "UInt64", "b", "String", "x": "Float64"}
OrderBy {"a"}
}
mt.Store(t, []string{"x", "b", "a"}, []any{
[]float64{1.1, 2.2, 3.3},
[]string{"a", "b", "c"},
[]uint64{1628596000, 1628596001, 1628596002},
})
parquet file as a result:
a | b | x |
---|---|---|
1628596000 | "a" | 1.1 |
1628596001 | "b" | 2.2 |
1628596002 | "c" | 3.3 |
How
Create a service implementing the following interface and helper types
The method
Store(table *Table, columns []string, data []any) error
descriptiontable
- table to storecolumns
- column names for thedata
data
- array of arrays for each column:UInt64
column type should be[]uint64
in thedata
argInt64
column type should be[]int64
in thedata
argString
column type should be[]string
or[][]byte
in thedata
argFloat64
column type should be[]string
or[][]byte
in thedata
argThe
Store
method shouldcolumns
length,data
length andtable.Fields
length are the samecolumns
enumerate all thetable.Fields
ehtries.parquet
file into thetable.Path
/data folder.The
Merge
method should.parquet
files into one.parquet
file insidetable.Path
/tmp foldertable.OrderBy
field.parquet
files and move the resulting.parquet
file into thetable.Path
/data folderTesting
The following request should create a parquet file
Create a set of unit tests for the positive scenario and several negative scenarios:
table.Fields
size