我刚接触 hadoop 和 hive 2 天。所以,我的理解是非常基础的。我有一个可能很愚蠢的问题。问题:我有一个配置单元外部表 ABC,并创建了一个类似于 ABC_TEST 表的示例测试表。我的目标是根据 select 子句将 ABC 的某些内容复制到 ABC_TEST。所以我使用以下命令创建了 ABC_TEST:
CREATE TABLE ABC_TEST LIKE ABC;
问题是:
1) 此 ABC_TEST 不是外部表。
2) 使用 Desc 命令,ABC_TEST 的 LOCATION 内容类似于
hdfs://somepath/somdbname.db/ABC_TEST
--> On command "hadoop fs -ls hdfs://somepath/somdbname.db/ABC_TEST " I found no files .
--> Whereas, "hadoop fs -ls hdfs://somepath/somdbname.db/ABC" returned me 2 files.
3) 当尝试从 ABC 向 ABC_TEST 插入值时,出现标题中提到的上述异常。以下是我用来向 ABC_TEST 插入值的命令:
INSERT INTO ABC_TEST select * from ABC where column_name='a_valid_value' limit 5;
在Hive中使用insert into select选项是不是错了?我错过了什么?请帮忙
最佳答案
正确的语法是“INSERT INTO TABLE [TABLE_NAME]”
INSERT INTO TABLE ABC_TEST select * from ABC where column_name='a_valid_value' limit 5;
关于mysql - 插入导致异常 ParseException 行 1 :12 missing TABLE at 'table_name' near '<EOF>' 的 Select 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32695900/