ref: a87c1c994f12dc502708a4722f5887ca802a16b2
server/db/parquet.go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
package db import ( "log" "os" "yats-server/model" "github.com/xitongsys/parquet-go/writer" ) func EventToParquet(event model.EventRequest, parquetFile string) { var err error w, err := os.Create(parquetFile) if err != nil { log.Println("Can't create local file", err) return } pw, err := writer.NewParquetWriterFromWriter(w, new(model.EventRequest), 4) if err != nil { log.Println("Can't create parquet writer", err) return } if err = pw.Write(event); err != nil { log.Println("Write error", err) } if err = pw.WriteStop(); err != nil { log.Println("WriteStop error", err) return } log.Println("Write Finished") w.Close() } func MetricToParquet(metrics []model.MetricRequest, parquetFile string) { var err error w, err := os.Create(parquetFile) if err != nil { log.Println("Can't create local file", err) return } pw, err := writer.NewParquetWriterFromWriter(w, new(model.MetricRequest), 4) if err != nil { log.Println("Can't create parquet writer", err) return } for i := range metrics { if err = pw.Write(metrics[i]); err != nil { log.Println("Write error", err) } } if err = pw.WriteStop(); err != nil { log.Println("WriteStop error", err) return } log.Println("Write Finished") w.Close() } |