DuckDB ha una cli molto comoda e potente.
Se si vuole ad esempio creare il file parquet
del file CSV
degli Indicatori di rischio idrogeologico pubblicati da ISPRA, questo è il comando da lanciare:
duckdb -c "CREATE TABLE comuni_pir AS SELECT * FROM comuni_pir.csv;EXPORT DATABASE '.' (FORMAT PARQUET);"
- viene creata una tabella
comuni_pir
in un db temporaneo, a partire dal fileCSV
; - viene esportato il db in formato
parquet
(che conterrà una sola tabella), nella directory corrente; -c
per eseguire i due comandi, separati da;
e poi uscire.
Attenzione all’inferencing dei tipi di campo
I campi di un file CSV non sono associati a una definizione di tipo di campo. DuckDB in import farà il cosiddetto inferencing, ovvero proverà a dedurlo.
Non è detto che lo faccia correttamente ed è bene sempre fare un check (celle con valori come 08
, 09
, ecc. sono ad esempio spesso mappate come numeri e non come stringhe).