Hive中parquet压缩格式分区表的跨集群迁移记录

文章目录

环境与需求

集群环境

华为FushionInsight A

华为FushionInsight B

华为集群管理机 local

Hive 3.1.0

HDFS 3.3.1

需求描述

从华为A集群中将我们的数据迁移到华为B集群,其中数据经过华为集群管理机local跳转。

数据样例:分区表 外部表 .parquet压缩

操作步骤

STEP 1

记下表所在华为A集群的HDFS位置,使用命令desc formatted 'tablename';获取,如'hdfs://hacluster/user/hive/warehouse/bigdata.db/tablename'。

记下建表语句,使用命令show create table 'tablename;'

STEP 2

查看表在华为A集群的HDFS占用空间,使用命令hdfs dfs -du -h 'hdfs://hacluster/user/hive/warehouse/bigdata.db/tablename',稍后将表大小记录,并判断存储是否满足要求。

STEP 3

STEP 2条件满足,使用命令hdfs dfs -get '粘贴在STEP 1中复制的位置',将表完整内容get到本地管理机local。

此时如果表存储过大,我们根据要迁移的表的分区进行get操作也可以,将对应分区名跟在位置后,如'hdfs://hacluster/user/hive/warehouse/bigdata.db/tablename/2023',一般表示2023年的分区。

STEP 4

在华为B集群中创建迁移的表,STEP 1中我们已经拿到了建表语句,需要修改位置:'hdfs://hacluster/user/hive/warehouse/bigdata.db/tablename',请修改位置为默认Hive默认数据库的位置。

STEP 5

将STEP 3 中的文件put到华为集群B的'hdfs://hacluster/user/hive/warehouse/bigdata.db/tablename/2023'目录下。

在华为集群B执行hdfs dfs -du -h hdfs://hacluster/user/hive/warehouse/bigdata.db/tablename,确认数据成功上传。

STEP 6

在建表语句中可以看到分区的字段date,再执行HQL语句alter table tablename add partition(date='2023')。

相关推荐
freejackman3 天前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
skywalk81636 天前
hive 常驻集群:像 OSPF 一样在线,像 git 一样可信
运维·人工智能·hive
Francek Chen7 天前
【大数据处理与分析】数据仓库Hive:09 Hive 编程实践
大数据·数据仓库·hive·hadoop·sql
茶海棠10 天前
Hadoop+zookeeper+HBase+Kafka集群搭建全流程
hadoop·zookeeper·kafka·hbase
全栈陈序员10 天前
【Git】从入门到精通(二)—— Git安装与初次配置
数据仓库·git
skywalk816310 天前
卡不等于分支:我用 TRAE 宝配合 Hive 跑三张任务卡的一天
运维·人工智能·hive·trae
程序员梅雨10 天前
【从零开始学习数据仓库 | 第三篇】: Flume——数据采集基石
java·大数据·数据仓库·后端·学习·flume
freejackman11 天前
【架构篇】双遍历 + 多栈协同:手撸 SQL 血缘引擎的架构思考
java·大数据·数据库·hive·sql·架构·spark
陈年老古董11 天前
ClickHouse 单机搭建记录
hive·笔记·学习·clickhouse·硬件架构
Gl�ria11 天前
Hadoop 速刷:HDFS / MR / YARN / Spark / Hive
hadoop·hdfs·mr