Convert CSV/TSV file to AVRO file.
$ go install github.com/koron/csv2avro@latest
- Detect CSV or TSV by extension of file name
- Auto detect a header row
$ csv2avro -schema {SCHEMA} [-input {INPUT}] [-output {OUTPUT}] [OPTIONS]
SCHEMA
: AVRO schema, mandatoryINPUT
: optional, default is STDIN It will be treated as TSV when a file name ends with ".tsv". Otherwise it is treated as CSV.OUTPUT
: optional, default is STDOUT
Other options:
-tsv
Force input as TSV.
Example:
$ csv2avro -schema my_shcema.avsc < input.csv > output.avro
$ csv2avro -schema my_shcema.avsc -tsv < input.tsv > output.avro
string
int
long
float
double
boolean
null
- always null.
Test command:
$ go build
$ ./csv2avro -schema testdata/sample1.avsc -input testdata/sample1.csv -output testdata/sample1.avro