我在 impala 中有两个表,我想将数据从一个移动到另一个。 两个表都有像
这样的hdfs路径/user/hive/db/table1 or table2/partitiona/partitionb/partitionc/file
我知道使用 INSERT INTO
将数据从一个表移动到另一个表的过程。
我不知道如何移动 hdfs 路径中的文件,或者这是否会通过 INSERT INTO statement
另外,如果在创建设置中对表格进行了排序,那么如果有数据插入其中,它也会被排序吗?
答案 0 :(得分:1)
它会自动发生并由 hive 完成。当您执行 INSERT INTO table1 SELECT * FROM table2
时,hive 将数据从 /user/hive/db/table1
复制到 table2/partitiona/partitionb/partitionc/file
。
您不必移动任何东西。您可能需要分析 table1 以获得更好的性能。
回答你的第二个问题,如果你在创建table1时使用sort by
,那么无论table2中的数据排序还是未排序,数据都会自动在table1中排序。