Ricevo i valori null durante il caricamento dei dati da file flat in tabelle hive.
mia struttura tabelle è come questo:ottenere valori null durante il caricamento dei dati da file flat in tabelle alveari
hive> create table test_hive (id int,value string);
e il mio file flat è come questo: input.txt
1 a
2 b
3 c
4 d
5 e
6 F
7 G
8 j
quando io sono in esecuzione i seguenti comandi sto ottenendo valori nulli:
hive> LOAD DATA LOCAL INPATH '/home/hduser/input.txt' OVERWRITE INTO TABLE test_hive;
hive> select * from test_hive;
OK<br>
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
screen shot:
hive> create table test_hive (id int,value string);
OK
Time taken: 4.97 seconds
hive> show tables;
OK
test_hive
Time taken: 0.124 seconds
hive> LOAD DATA LOCAL INPATH '/home/hduser/input2.txt' OVERWRITE INTO TABLE test_hive;
Copying data from file:/home/hduser/input2.txt
Copying file: file:/home/hduser/input2.txt
Loading data to table default.test_hive
Deleted hdfs://hydhtc227141d:54310/app/hive/warehouse/test_hive
OK
Time taken: 0.572 seconds
hive> select * from test_hive;
OK
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
Time taken: 0.182 seconds
probabilmente è necessario specificare come righe/colonne siano definite in file di input durante il caricamento in una tabella Hive.Puoi provare qualcosa del tipo: 'crea tabella test_hive (id int, stringa valore) ROW FORMAT DELIMITED FIELDS TERMINATO DA '' STORED AS TEXTFILE LOCATION '/ user/hadoop/hive/input';' –
Il problema che stai affrontando è perché nel tuo dati i campi sono separati da '' e durante la creazione della tabella non hai menzionato il delimitatore di campo. Quindi, se non si menziona il delimitatore di campo durante la creazione della tabella dell'alveare, per impostazione predefinita l'hive considera^A come delimitatore. Quindi per risolvere il problema, è possibile ricreare la tabella menzionando la sintassi di seguito e funzionerebbe. CREATE TABLE test_hive (id INT, valore STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ''; –