首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >hive大表rename异常如何处理?

hive大表rename异常如何处理?

原创
作者头像
艾利
修改于 2025-03-05 05:45:06
修改于 2025-03-05 05:45:06
2160
举报

假设现有表 A,出于一些原因,想将其重命名为B,执行HSQL:

代码语言:txt
AI代码解释
复制
alter table test_db.dm_order_xxx_a  RENAME TO test_db.dm_order_xxx_b

出现报错:

报错原因说明 :

  • 报错分析: 库和表不在同一个HDFS cluster上,导致在hive表在rename的过程中,mv HDFS目录的时候产生across federation的报错。
  • 其中, 库表不在同一个HDFS cluster的原因有:
    1. 用户手动指定了table locaiton
    2. 因FS cluster容量比较满时,BD同学将部分库的location迁到新的HDFS cluster上,此时历史表的location还在原来的cluster.

alter table rename 存在风险,强烈不建议这么操作。分区数越多,风险越大。可以参考下面的操作安全的进行rename:

  • 将表改成外表(rename外表不会操作HDFS)
代码语言:txt
AI代码解释
复制
set tqs.query.engine.type=hive; -- 在风神SQL查询或Dorado HSQL执行需要添加这一行
alter table test_db.dm_order_xxx_a set tblproperties ('EXTERNAL' = 'true');
  • 重命名外表
代码语言:txt
AI代码解释
复制
alter table test_db.dm_order_xxx_a  RENAME TO test_db.dm_order_xxx_b
  • 恢复成内表
代码语言:txt
AI代码解释
复制
set tqs.query.engine.type=hive; -- 在风神SQL查询或Dorado HSQL执行需要添加这一行
alter table test_db.dm_order_xxx_b set tblproperties ('EXTERNAL' = 'FALSE');

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
0922-7.1.9-使用Spark和Hive访问Ozone
Fayson
2024/05/09
3030
0922-7.1.9-使用Spark和Hive访问Ozone
大数据Kudu(八):Kudu与Impala整合
Impala是cloudera提供的一款高效率的sql查询工具,使用内存进行计算提供实时的SQL查询,impala强依赖于Hive 的MetaStore,直接使用hive的元数据,意味着impala元数据都存储在hive的MetaStore当中,并且impala兼容hive的绝大多数sql语法,具有实时,批处理,多并发等优点。
Lansonli
2022/12/21
1.6K0
大数据Kudu(八):Kudu与Impala整合
Hadoop Hive sql语法详解
Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构
黄规速
2022/04/14
2.3K0
数据科学|Hive SQL语法总结
Hive是一个数据仓库基础的应用工具,在Hadoop中用来处理结构化数据,它架构在Hadoop之上,通过SQL来对数据进行操作,了解SQL的人,学起来毫不费力。
陆勤_数据人网
2019/12/31
1.9K0
一脸懵逼学习Hive的使用以及常用语法(Hive语法即Hql语法)
该文介绍了关于数据库连接池的知识点,包括概念、特点、配置方式、调优参数和常见问题。同时,文章还提供了如何正确配置和优化数据库连接池的相关建议,以帮助开发人员更好地掌握和应用该技术。
别先生
2018/01/02
3.7K0
一脸懵逼学习Hive的使用以及常用语法(Hive语法即Hql语法)
HIVE中的表以及语法
HIVE中的表以及语法 一、HIVE的表     HIVE使用的功能性的表格分为四种:内部表、外部表、分区表、分桶表。 1、内部表、外部表 1.特点     创建hive表,经过检查发现TBLS表中,hive表的类型为MANAGED_TABLE,即所谓的内部表。     内部表的特点是,先有表后有数据,数据被上传到表对应的hdfs目录下进行管理。     其实内部表的流程和sql数据库的表流程是几乎一样的。     但是在真实开发中,很可能在hdfs中已经有了数据,希望通过hive直接使用这些数据作为表内容
云飞扬
2018/05/11
2.2K0
hive学习笔记之三:内部表和外部表
至此,咱们对内部表和外部表已经有了基本了解,接下来的文章学习另一种常见的表类:分区表;
程序员欣宸
2021/06/29
1.1K0
hive学习笔记之三:内部表和外部表
Hive-1.2.1_03_DDL操作 1.1. Create Database1.2. Drop Database1.3. Use Database2.1. Cre
  注意:各个语句的版本时间,有的是在 hive-1.2.1 之后才有的,这些语句我们在hive-1.2.1中是不能使用的。
踏歌行
2020/10/15
8060
Hive-1.2.1_03_DDL操作
    




        1.1. Create Database1.2. Drop Database1.3. Use Database2.1. Cre
2021年大数据Hive(三):手把手教你如何吃透Hive数据库和表操作(学会秒变数仓大佬)
1、CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXISTS 选项来忽略这个异常。
Lansonli
2021/10/11
2K0
Hive SQL 语法大全,宇宙最强整理,建议收藏
LOCATION 是指定外部表的存储路径,MANAGEDLOCATION 是指定管理表的存储路径(hive 4.0.0 才支持),官方建议默认就行,让所有的表都在一个根目录下。
kk大数据
2020/11/03
7.9K0
Hive中库和表的常见操作
@ 目录 库的常见操作 1.增 2.删 3.改 4.查 表的常见操作 1.增 2.删 3.改 4.查 库的常见操作 1.增 CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] // 库的注释说明 [LOCATION hdfs_path] // 库在hdfs上的路径 [WITH DBPROPERTIES (property_name=property_value, ..
孙晨c
2020/10/10
1.2K0
hive环境部署
注意:各主机中的操作系统版本需保持一致。安装过程中都在hadoop用户下,本教材中密码统一采用:password(注意大小写)
草丛指挥官
2022/11/29
5.1K0
【Hive】SQL语句大全
继承 org.apache.hadoop.hive.ql.udf.generic.GenericUDTF;
全栈程序员站长
2022/08/30
2.7K0
CDP中的Hive3系列之Hive3表
表类型的定义和表类型与 ACID 属性的关系图使得 Hive 表变得清晰。表的位置取决于表的类型。您可以根据其支持的存储格式选择表的类型。
大数据杂货铺
2021/08/20
2.3K0
(超长文)Hive Sql基本操作
2.注释问题2.1 MySQL中的注释2.2 Hive中的注释3.乱码问题3.1 修改表字段注解和表注解3.2 修改分区字段注解3.3 修改索引注解3.4 修改metastore的连接URL4.数据库基本操作4.1 创建带属性的库4.2 显示数据库详情:4.3 查看正在使用哪个库4.4 查看数据库的详情语句5.删除数据库5.1 删除库原则5.2 删除不含表的数据库5.3 删除含表数据库6.切换库及创建表6.1 切换库6.2 创建表7.表详情及表操作7.1 表详情7.2 表操作8.分区8.1 查看分区8.2 添加分区8.3 修改分区8.4 删除分区
公众号guangcity
2019/09/20
3.8K0
(超长文)Hive Sql基本操作
hive之路7-hive之DDL操作
在Hive中,数据库是一个命名空间或表的集合。创建了数据库之后,在HDFS上的存储路径默认为/usr/hive/warehouse/*.db具体语法为:
皮大大
2021/03/02
6630
(四)Hive分区、分桶
CREATE TABLE IF NOT EXISTS salgrade2 ( GRADE int, LOSAL int, HISAL int ) partitioned by (day string) row format delimited fields terminated by '\t' location '/data/inner/ODS/01/salgrade2';
wolf
2020/09/18
1.2K0
Hive 基础(2):库、表、字段、交互式查询的基本操作
1、命令行操作 (1)打印查询头,需要显示设置: set hive.cli.print.header=true; (2)加"--",其后的都被认为是注释,但 CLI 不解析注释。带有注释的文件只能通过这种方式执行: hive -f script_name (3)-e后跟带引号的hive指令或者查询,-S去掉多余的输出: hive -S -e "select * FROM mytable LIMIT 3" > /tmp/myquery (4)遍历所有分区的查询将产生一个巨大的MapRe
用户1177713
2018/02/24
3.7K0
HiveQL: 数据定义
注:cmd里显示数据库名,需要 vim /usr/local/hive/bin/.hiverc 添加 set hive.cli.print.current.db=true;
Michael阿明
2021/09/06
5480
Hive基础操作
hive的常用操作,不是很全的那种 创建数据库 cearte database [if not exists] db.hive; 表的相关操作 -- 创建表 create table [if not exists] student( name string, age int, score int) row format delimited fileds terminated by '\t'; -- 创建子表——从表中提取出所需要的字段 create
俺也想起舞
2019/07/24
6450
相关推荐
0922-7.1.9-使用Spark和Hive访问Ozone
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档