我想知道是否可以根据条件(我的意思是WHERE)在Hive中创建外部表?
答案 0 :(得分:1)
CREATE TABLE myTable AS
SELECT a,b,c FROM selectTable;
答案 1 :(得分:0)
Hive无法使用CTAS创建外部表。
CTAS具有以下限制:
1。目标表不能是分区表。
2。目标表不能是外部表。
3。目标表不能是列表存储表。
或者, 您可以创建一个外部表,然后使用选择查询将其插入到表中。
答案 2 :(得分:0)
您可以通过使用where子句将select语句分隔开来创建外部表,首先创建外部表,然后使用带有where子句的select使用insert覆盖外部表。
CREATE EXTERNAL TABLE table_name
STORED AS TEXTFILE
LOCATION '/user/path/table_name';
INSERT OVERWRITE TABLE table_name
SELECT * FROM Source_Table WHERE column="something";
答案 3 :(得分:0)
您不能使用Hive中的“按选择创建表”(CTAS)创建外部表。但是,您可以先创建外部表,然后使用过滤条件将数据从任何其他表插入表中。下面是创建存储为ORC的分区外部表并将记录插入该表的示例。
COMMIT