hadoop - HQL - 如何将几个分区中的数据从一个表复制/移动到另一个表

标签 hadoop hql hive

我有一个表(main_table),它被分区并存储记录的历史记录,并带有一个标志来指示记录是否被删除。我有另一个 table9del_table),它与 ​​main_table 具有相同的模式,但只存储一天的已删除记录 (delete_falg='Y')。

作为一个过程,我需要每天将 del_table 中可用的记录移动到 main_table。我正在尝试编写一个 LOAD DATA INPATH 命令,它可以将 del_table 的各个分区中的可用数据移动到 main_table 的相应分区,但我的尝试似乎都没有用。请让我知道是否可以通过使用 LOAD DATA INPATH 命令来实现它,而无需指定单独的分区?

我正在尝试以下步骤,但在第二步中失败了: 设置非严格的配置单元属性:

LOAD DATA INPATH '...../del_table/' into table main_table partition(partition_col_name)

最佳答案

您是否必须在路径中使用贷款数据?

如果不是,您可以执行以下操作 https://cwiki.apache.org/confluence/display/Hive/Tutorial#Tutorial-DynamicpartitionInsert

虽然这会每天重新生成整个表。

关于hadoop - HQL - 如何将几个分区中的数据从一个表复制/移动到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20356240/

相关文章:

datetime - 如何使用 mapreduce 和 pyspark 查找某年某一天的频率

hadoop - .beeline是否具有与.hiverc相同的目的?

mysql - 如何在hql中编写连接查询?

java - 为什么这个 HQL 查询看起来不应该起作用,但它却起作用了?

NHibernate:HQL 和 UserTypes 作为查询参数

hadoop - 列名 DIV 在配置单元中显示错误

hadoop - Hive on Tez 中的 ORDER BY 语句抛出 OOM 异常

scala - 如何在缩放时计算类型管道中行中列的频率?

hadoop - 映射减少的输入文件格式

mysql - Hive 查询问题 - 无效的表别名或列引用