Eu quero importar um arquivo csv realmente repugnante com células vazias e células sem cabeçalhos para o banco de dados Cassandra. Eu tentei
O seguinte comando de linuxconfig.org :
#!/bin/bash
for i in $( seq 1 2); do
sed -e "s/^,/$2,/" -e "s/,,/,$2,/g" -e "s/,$/,$2/" -i $1
done
Mas parece que não funcionou quando o apliquei
bash fill-empty-values.sh bouffe500.csv 0
Eu não usei chmod +x
.
Aqui está uma imagem de bouffe500.csv depois de aplicar o script, ele permanece em campos vazios:
Eu achei que os campos vazios criaram problemas quando tentei importar o arquivo csv para o Cassandra e ele me respondeu:
cqlsh:k1> COPY k1.bouffe FROM 'bouffe_v2.csv' WITH HEADER=true;
Using 3 child processes
Starting copy of k1.bouffe with columns [code, additives, additives_fr, ...
...
Failed to import 1 rows: ParseError - Invalid row length 112 should be 163, given up without retries
Failed to import 7 rows: ParseError - Invalid row length 60 should be 163, given up without retries
Failed to import 1 rows: ParseError - Invalid row length 74 should be 163, given up without retries
Failed to import 2 rows: ParseError - Invalid row length 32 should be 163, given up without retries
Failed to import 5 rows: ParseError - Invalid row length 31 should be 163, given up without retries
Failed to import 1 rows: ParseError - Invalid row length 85 should be 163, given up without retries
Failed to import 1 rows: ParseError - Invalid row length 111 should be 163, given up without retries
Failed to import 3 rows: ParseError - Invalid row length 81 should be 163, given up without retries
Failed to process 499 rows; failed rows written to import_k1_bouffe.err
Processed: 499 rows; Rate: 801 rows/s; Avg. rate: 1211 rows/s
499 rows imported from 1 files in 0.412 seconds (0 skipped).
cqlsh:k1> SELECT * from bouffe;
Tags scripting