使用Hive中另一个表中的数据填充外部表

时间:2012-05-21 16:09:27

标签: mysql hive

我有一张包含大量数据的表格。调用此表A.我想创建一个外部表(比如表B),其中包含表A的某些列中的数据。我尝试使用'create table as'(CTAS)但得到错误,CTAS不能与外部表一起使用。我怎么能做这个简单的工作?

1 个答案:

答案 0 :(得分:1)

您只需将表A中的所有内容插入表B,然后选择要复制的列即可。假设你已经有了表A,它应该是这样的:

CREATE EXTERNAL TABLE table_b
(column_one type, column_three type)
LOCATION 'location_you_need_to_give';

INSERT OVERWRITE TABLE table_b
SELECT (column_one, column_three) FROM table_a;

其中column_one和column_three是要复制的table_a中的列,而location_you_need_to_give是外部位置(如果使用亚马逊弹性贴图缩小,则为HDFS路径或S3路径),您希望table_b存储数据