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