2017-10-27 18 views
0

ハイブでテーブルを作成しましたが、今度はを使用して列名を置き換えようとしていますを置き換えます。 アルタークエリは次のとおりです。ハイブの列を置き換えます

**ALTER TABLE emp1 REPLACE COLUMNS (
id INT eid int, 
name STRING ename string, 
sal INT esal int, 
city string ecity string, 
country string ecountry string);** 

MismatchedTokenException(26 = 301!) org.antlr.runtime.BaseRecognizer.recoverFromMismatchedToken(BaseRecognizer.java:617) でorg.antlr.runtime.BaseRecognizer.matchで(BaseRecognizer .java:115)org.apache.hadoop.hive.ql.parse.HiveParser.alterTblPartitionStatementSuffixでorg.apache.hadoop.hive.ql.parse.HiveParser.alterStatementSuffixAddCol(HiveParser.java:9898) で(HiveParser.java :8524) at org.apache.hadoop.hive.ql.parse.HiveParser.alterTableStatementSuffix(HiveParser.java:8139) at org.apache.hadoop.hive.ql.parse.HiveParser.alterStatement(こんにちはveParser.java:7190) at org.apache.hadoop.hive.ql.parse.HiveParser.ddlStatement(HiveParser.java:2602) at org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser。 java:1589) at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1065) at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java: 201) at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:462) at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1276) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1393) at org.apache.hadoop。 hive.ql.Driver.run(Driver.java:1205) at o org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:220) でのrg.apache.hadoop.hive.ql.Driver.run hive.cli.CliDriver.processCmd(CliDriver.java:172) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:383) at org.apache.hadoop.hive.cli.CliDriver。 (CliDriver.java:693) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:775) sun.reflect.DelegatingMethodAccessorImpl.invokeでsun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) で(DelegatingMethodAccessorImpl.javにおける628) a:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop。 (ParallelException:行2:7が一致しない入力 'eid'を予期しています)を 'INT'の近くに追加します。

私を助けてください。私はハイブを学んでいます

答えて

0

ALTER TABLE <TableName> REPLACE COLUMNSは、すべての既存の列を削除し、新しい列のセットを追加します。あなたはALTER TABLE <TableName> CHANGE <ColumnName>

ALTER TABLE <TableName> CHANGE ID EID INT;

このページの使用はあなたにたくさんの情報を提供します作ることができ、あなたのシナリオでは

REPLACE COLUMNS

ALTER TABLE <TableName> REPLACE COLUMNS (EID INT, EName STRING);

ALTER COLUMNS

関連する問題