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