In breve, ecco il mio codice di esempio.
file1 = file delimitato da CSV, diciamo, 1000 righe
file2 = file delimitato da CSV, diciamo, 3000 righe
file3 = file delimitato da CSV, diciamo, 10000 righe
hdfs dfs -put file1 / home / new_hdfs_file
hdfs dfs -appendToFile file2 / home / new_hdfs_file
hdfs dfs -appendToFile file3 / home / new_hdfs_file
Quando applico i seguenti comandi, l'ultima riga di ogni appendToFile viene corrotta e cambia i dati, a volte li duplica, a volte ne rimuove parti. Il punto è che corrompe l'ultima riga.
Ad esempio, le righe 1000, 4000 (1000 + 3000) e 14000 sarebbero danneggiate. Non posso spiegarlo affatto. Sembra che a hdfs non piaccia aggiungere file CSV. Il motivo è che ho file gigabyte, non kilobyte. E non posso tenerlo così tanto in memoria.
Qualcun altro lo sperimenta? C'è un modo per aggirarlo?