HIVE中没有对于部分内容的删除选项,所以拆解为以下4个步骤:
- 把原分区中内容排除掉需要删除的部分移到新分区(可随便设置后续删除)删除原分区把新分区中内容移到原分区删除新分区
以上为详细步骤,也可以在步骤一后直接用新分区insert overwrite旧分区
下面以删除attr_name 的值为’max_recv_count’和’max_send_count’为例:
--步骤一:原分区移至新分区 insert overwrite table qiye_mail_data.app_usage_report_md partition(dt ='2021-01-02' ) select org_id ,attr_name,attr_group,attr_value from qiye_mail_data.app_usage_report_md where attr_name not in ('max_recv_count','max_send_count') and dt = '2021-01-01'
--步骤二:删除原分区 alter table qiye_mail_data.app_usage_report_md drop partition (dt ='2021-01-01')
--步骤三:新分区内容移至原分区 insert overwrite table qiye_mail_data.app_usage_report_md partition(dt ='2021-01-01' ) select org_id ,attr_name,attr_group,attr_value from qiye_mail_data.app_usage_report_md where attr_name not in ('max_recv_count','max_send_count') and dt = '2021-01-02'
--步骤四:删除新分区 alter table qiye_mail_data.app_usage_report_md drop partition (dt ='2021-01-02')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)