Sto cercando di caricare un file CSV in una tabella Hive in questo modo:Hive carico CSV con le virgole nei campi citati
CREATE TABLE mytable
(
num1 INT,
text1 STRING,
num2 INT,
text2 STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ",";
LOAD DATA LOCAL INPATH '/data.csv'
OVERWRITE INTO TABLE mytable;
Il csv è delimitato da una virgola (,) e si presenta così:
1, "some text, with comma in it", 123, "more text"
Ciò restituirà dati corrotti poiché nella prima stringa è presente un ','.
C'è un modo per impostare un delimitatore di testo o rendere Hive ignorare il ',' nelle stringhe?
Non posso cambiare il delimitatore del csv dal momento che viene tirato da una fonte esterna.
Grazie, ha fatto il trucco! –
sed -i '/ "// g' nome_file tuo fa il pre-processo sul posto rimuovendo il testo citato.Tuttavia, è necessario essere certi che non ci sia una rimozione innocua di altri caratteri quotati ("). – ekta