在 impala 中将文件从一个表传输到另一个表

Posted

技术标签:

【中文标题】在 impala 中将文件从一个表传输到另一个表【英文标题】:Transfer files from one table to another in impala 【发布时间】:2021-06-05 08:37:47 【问题描述】:

我在 impala 中有两个表,我想将数据从一个移动到另一个。 两个表都有类似的 hdfs 路径

/user/hive/db/table1 or table2/partitiona/partitionb/partitionc/file

我知道使用INSERT INTO 将数据从一个表移动到另一个表的过程。 我不知道如何移动 hdfs 路径中的文件,或者如果这会自动发生在 INSERT INTO statement

另外,如果在创建设置中对表进行了排序,如果有任何数据插入其中,它也会被排序吗?

【问题讨论】:

【参考方案1】:

它自动发生并由 hive 完成。当您执行 INSERT INTO table1 SELECT * FROM table2 时,hive 会将数据从 /user/hive/db/table1 复制到 table2/partitiona/partitionb/partitionc/file。 您不必移动任何东西。您可能需要分析 table1 以获得更好的性能。

回答你的第二个问题,如果你在创建table1时使用sort by,那么table1中的数据将自动排序,而不管table2中的数据是否排序。

【讨论】:

以上是关于在 impala 中将文件从一个表传输到另一个表的主要内容,如果未能解决你的问题,请参考以下文章

在phpMyAdmin中将数据从表自动传输到另一个表

在 Cassandra 中将数据从一个集群传输到另一个集群

在 Postgres 中将表从一个数据库复制到另一个数据库

如何在 Flutter 中将数据从一个函数传输到另一个函数?具体这种情况

在Windows Forms App中将数据从一个OleDb数据库复制到另一个

在 Excel 中将特定信息从一个电子表格传输到另一个电子表格