如何从另一个具有不同分区的配置单元表创建配置单元表而不移动数据?

1tuwyuhd  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(390)

我有一个表database1.table1
表“database1.table1”有2列和一个分区列:columna,columnb按columnc分区
我需要创建一个表'database2.table2',没有分区,但是有两列columna,columnb。我需要将数据从database1.table1复制到database2.table2(不删除database1.table1中的任何数据)
我尝试了以下操作,但是数据被移动了。我只需要复制数据

CREATE TABLE DATABASE2.TABLE2 
SELECT COLUMNA, COLUMNB
FROM DATABASE1.TABLE1

注意:我需要实际数据表,我不能创建一个外部表。

c0vxltue

c0vxltue1#

你应该能够复制数据几乎你说的方式。只要加上'as'。请参见创建为选择文档。你是说数据被移动了,但那不可能。create as select将触发map reduce作业。请注意,在文档中,您还可以更改数据格式、使用不同的serde和您自己的分区(或者不分区,就像您要求的那样)。

USE database2;
CREATE TABLE table2 
  AS SELECT columna,columnb 
  FROM database1.table1

相关问题