MismatchedTokenException sur la ruche de créer une table de requête
Je suis en train de créer un tableau de la Ruche avec la requête suivante:
CREATE TABLE IF NOT EXISTS BXDataSet
(ISBN STRING,
BookTitle STRING,
BookAuthor STRING,
YearOfPublication STRING,
Publisher STRING,
ImageURLS STRING,
ImageURLM STRING,
ImageURLL STRING)
COMMENT 'BX-Books Table'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ';' LINE TERMINATED BY '\n'
STORED AS TEXTFILE;
Comment quand j'ai présenté à la Ruche, j'ai obtenu l'exception suivante:
MismatchedTokenException(-1!=301)
at org.antlr.runtime.BaseRecognizer.recoverFromMismatchedToken(BaseRecognizer.java:617)
at org.antlr.runtime.BaseRecognizer.match(BaseRecognizer.java:115)
at org.apache.hadoop.hive.ql.parse.HiveParser.tableRowFormatFieldIdentifier(HiveParser.java:31433)
at org.apache.hadoop.hive.ql.parse.HiveParser.rowFormatDelimited(HiveParser.java:30386)
at org.apache.hadoop.hive.ql.parse.HiveParser.tableRowFormat(HiveParser.java:30662)
at org.apache.hadoop.hive.ql.parse.HiveParser.createTableStatement(HiveParser.java:4683)
at org.apache.hadoop.hive.ql.parse.HiveParser.ddlStatement(HiveParser.java:2144)
at org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1398)
at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1036)
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:199)
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:404)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:322)
at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:975)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1040)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:911)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:901)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:268)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:220)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:423)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:792)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:686)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:625)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
FAILED: ParseException line 10:43 mismatched input '<EOF>' expecting StringLiteral near 'BY' in table row format's field separator
Ruche est correctement installé, je suis en mesure d'exécuter des choses comme le montrent les tableaux. Alors, quel est le problème avec cette requête?
J'ai trouvé ce dû à une erreur semblable, et il s'est avéré être causée par des guillemets simples dans ma requête qui étaient en fait à gauche et à droite de citations.
OriginalL'auteur bachr | 2014-09-05
Vous devez vous connecter pour publier un commentaire.
Vous devez spécifier le délimiteur du code OCT .
Qui est pour l' ; OCT code est 073
ParseException line 11:49 cannot recognize input near 'LINE' 'TERMINATED' 'BY' in serde properties specification
même quand j'essaie avec le code correspondant '\012'!!reportez-vous à cwiki.apache.org/confluence/display/Hive/...
accepter la réponse si cela vous a aidé
plus que probablement, vous avez copié et collé à partir d'un textpad et au lieu de "vous" avait
OriginalL'auteur K S Nidhin
MAL
LINE TERMINATED BY '\n'
DROIT
LINES TERMINATED BY '\n'
'LIGNES' PAS '' EN LIGNE'
OriginalL'auteur Jimmy Zhang
Réponse Simple est d'échapper à la ";" comme ceci "\;"
si votre ligne serait
LIGNE FORMAT DÉLIMITÉ par des FIELDS TERMINATED BY '\;' LIGNE terminée PAR '\n'
OriginalL'auteur Paul
CREATE TABLE if not EXISTS BXDataSetNew
(ISBN CHAÎNE,
BookTitle CHAÎNE,
BookAuthor CHAÎNE,
YearOfPublication CHAÎNE,
CHAÎNE de l'éditeur,
ImageURLS CHAÎNE,
ImageURLM CHAÎNE,
ImageURLL CHAÎNE)
COMMENTAIRE "BX-les Livres de la Table"
LIGNE FORMAT DÉLIMITÉ par des FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'
STOCKÉE EN TANT QUE FICHIER TEXTE;
OriginalL'auteur Sanyog Tiwari