impossible de créer la table de la ruche avec de la clé primaire

Je suis incapable de créer une table externe dans la ruche avec de la clé primaire. Voici l'exemple de code:

hive> create table exmp((name string),primary key(name));

Cela me renvoie le message d'erreur suivant:

NoViableAltException(278@[])
org.apache.hadoop.hive.ql.parse.HiveParser_IdentifiersParser.identifier(HiveParser_IdentifiersParser.java:11216)
org.apache.hadoop.de la ruche.ql.l'analyser.HiveParser.identificateur(HiveParser.java:35977)
au org.apache.hadoop.de la ruche.ql.l'analyser.HiveParser.columnNameType(HiveParser.java:31169)
au org.apache.hadoop.de la ruche.ql.l'analyser.HiveParser.columnNameTypeList(HiveParser.java:29373)
au org.apache.hadoop.de la ruche.ql.l'analyser.HiveParser.createTableStatement(HiveParser.java:4439)
au org.apache.hadoop.de la ruche.ql.l'analyser.HiveParser.ddlStatement(HiveParser.java:2084)
au org.apache.hadoop.de la ruche.ql.l'analyser.HiveParser.execStatement(HiveParser.java:1344)
au org.apache.hadoop.de la ruche.ql.l'analyser.HiveParser.déclaration(HiveParser.java:983)
au org.apache.hadoop.de la ruche.ql.l'analyser.ParseDriver.parse(ParseDriver.java:190)
au org.apache.hadoop.de la ruche.ql.Le pilote.compiler(Pilote.java:434)
au org.apache.hadoop.de la ruche.ql.Le pilote.compiler(Pilote.java:352)
au org.apache.hadoop.de la ruche.ql.Le pilote.compileInternal(Pilote.java:995)
au org.apache.hadoop.de la ruche.ql.Le pilote.runInternal(Pilote.java:1038)
au org.apache.hadoop.de la ruche.ql.Le pilote.exécuter(Pilote.java:931)
au org.apache.hadoop.de la ruche.ql.Le pilote.exécuter(Pilote.java:921)
au org.apache.hadoop.de la ruche.cli.CliDriver.processLocalCmd(CliDriver.java:268)
au org.apache.hadoop.de la ruche.cli.CliDriver.processCmd(CliDriver.java:220)
au org.apache.hadoop.de la ruche.cli.CliDriver.processLine(CliDriver.java:422)
au org.apache.hadoop.de la ruche.cli.CliDriver.executeDriver(CliDriver.java:790)
au org.apache.hadoop.de la ruche.cli.CliDriver.exécuter(CliDriver.java:684)
au org.apache.hadoop.de la ruche.cli.CliDriver.principale(CliDriver.java:623)
au coucher du soleil.de réfléchir.NativeMethodAccessorImpl.invoke0(Native method)
au coucher du soleil.de réfléchir.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
au coucher du soleil.de réfléchir.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
à java.lang.de réfléchir.La méthode.invoke(la Méthode.java:483)
au org.apache.hadoop.util.RunJar.principale(RunJar.java:212) FAILED: ParseException ligne 1:18 ans ne peuvent pas reconnaître d'entrée de proximité '(' 'nom'
"chaîne" dans la colonne de spécification

Merci de m'aider.

La ruche n'a pas les clés primaires.
Corrigez-moi si je me trompe, je rencontre des pertes de données lors d'sqoop fusion sans la clé primaire dans la table de la ruche.
Sqoop poignées de fusionner les clés de manière indépendante de la Ruche définition de la table, donc il n'est pas nécessaire (ou capacité) pour assigner une clé primaire d'une table de la Ruche à cette fin. Si vous rencontrez des Sqoop de fusion questions alors c'est une autre question tout à fait.

OriginalL'auteur Hussain Shaik | 2015-02-16