2016-07-10 4 views
-1

Verwenden Sie unter Befehl, um Tabelle in Hive zu erstellen, aber Fehler geben.Kann Tabelle in Hive für CSV-Datei nicht erstellen

CREATE TABLE TestData (id1 int, id2 int, id3 int, id4 String) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’ stored as textfile; 

Fehler

FAILED: ParseException line 1:106 mismatched input ',' expecting StringLiteral near 'BY' in table row format's field separator 

Ich habe versucht, '\ 054' anstelle von '', aber nicht funktioniert.

+0

wahrscheinlichste Ursache für das Problem wäre ‚‘ ist nicht korrekt –

Antwort

0

Sie haben nicht erwähnt, wie Zeilen getrennt sind ..

Edit: dh Linien

0

Die meisten der Zeit, die Dinge, die von offenen Augen nicht sichtbar sind, können durch vi-Editor zu sehen ist;). Es gibt control characters im Befehl.

cat -v file.txt 
    CREATE TABLE TestData (id1 int, id2 int, id3 int, id4 String) ROW FORMAT DELIMITED 
FIELDS TERMINATED BY M-bM-^@M-^X,M-bM-^@M-^Y stored as textfile; 

Lösung - Kopieren Sie den Befehl paste nicht, tippen Sie ihn einfach ein.

0

Der Zeichenfolgetyp enthält zwei Datentypen in der Struktur: VARCHAR und CHAR. Anstelle von String verwenden Sie entweder VARCHAR oder CHAR als Datentyp, da dies Ihr Problem löst.

* Vergessen Sie nicht, die Größe anzugeben, während Sie varchar angeben.

Beispiel: CREATE TABLE TestData (id1 int, id2 int, id3 int, id4 varchar (65355)) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’ stored as textfile;

+0

Es ist nicht das Problem nicht lösen, bis Junk-Zeichen in Abfrage gibt. – syadav

Verwandte Themen