gpt4 book ai didi

hadoop - Hive修改分区表数据

转载 作者:可可西里 更新时间:2023-11-01 14:51:52 24 4
gpt4 key购买 nike

问题:一列值为空。它应该是'ab'。不幸的是我写了''而不是'ab'。

我的表是分区表。有什么办法可以改变吗?

我找到了下面的方法。但它似乎效率低下。

  1. 像我的表一样创建一个临时表
  2. 使用插入覆盖。从我的旧表中读取数据并写入新表。我正在使用 case 语句将 '' 更改为 'ab'
  3. 然后将我的临时表更改为原始表。

我正在寻找类似更新分区和 msck 的解决方案。有什么办法吗?

最佳答案

您可以通过这种方式覆盖单个分区:

set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;

insert overwrite target_table partition (part_col)
select
case when column ='' then 'ab' else column end as column ,
col2, --select all the columns in the same order
col3,
part_col --partition column is the last one
from target_table where part_col='your_partition_value';

关于hadoop - Hive修改分区表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41820514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com