Hive跨集群数据迁移过程

文章目录

  • 环境
  • 数据迁移需求
  • 迁移过程记录

环境

  • Hive集群A
  • Hive集群B
  • 跳转机一台

数据迁移需求

本次迁移数据100G,15亿条,数据流转方向从集群A经过跳转机到集群B,通过HDFS拉取和重新建表导入的方式完成数据库迁移。

迁移过程记录

- 当前操作在集群A

  1. 通过执行desc formatted,查看并记录数据库的:①存储位置,②文件存储压缩格式,③表字段;
  2. 对迁移的数据库执行count(*)操作,记录数据量,整体把握,最后做校验;

- 当前操作在跳转机

  1. 获取1.②位置之后,通过hdfs hds -du -h命令检查原始表数据在HDFS中的存储大小,确认是否能拉取到跳转机;
  2. 执行df -h检查跳转机可用存储空间,执行hdfs dfs -get命令,将存储的数据库源文件从集群A的HDFS拉取到跳转机本地;
  3. 执行ls | wc -l命令,检查拉取的数据库源文件数量,此步骤操作是为了校验文件数量;
  4. 如果不是压缩存储的文件,比如CSV,请执行head命令,查看源文件首行是否包含表字段,如果包含表字段,需要在建表时添加TBLPROPERTIES ('skip.header.line.count'='1');
  5. 执行hdfs dfs -put命令,将数据库源文件上传至集群B的HDFS,并执行hdfs hds -du -h检查存储大小是否一致,请提前mkdir准备好存储目录;

- 当前操作在集群B

  1. 根据1.③编辑建表语句并执行,根据压缩存储格式的不同,MapReduce在执行时的输入输出结果也不同;
不指定格式
InputFormatorg.apache.hadoop.hive.ql.io.RCFileInputFormat
OutputFormatorg.apache.hadoop.hive.ql.io.RCFileOutputFormat
指定TEXTFILE格式
InputFormatorg.apache.hadoop.mapred.TextInputFormat
OutputFormatorg.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

本次迁移方案数据源文件为.snappy.parquet压缩存储格式,新建的表为TEXTFILE格式,指定了分隔符为,;

  1. 通过beeline执行LOAD DATA INPATH 'hdfs location' into table table_name命令,将HDFS中的数据源文件导入Hive表,至此完成迁移;
  2. 若对存储格式在后续有新的需求,可以在完成导入后,通过创建新的附带存储格式的表,再执行insert overwrite table table_name_new select * from table_name_old;命令,完成Hive存储格式的转换;
  3. 对于数据完整性、一致性的考虑:可以在完成后再次执行count(*),校验数据量,此方法是为了避免出现因格式不同,忽略CSV首行字段问题,或者建表语句错误,剔除了有效数据导致数据缺失的危险行为。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/113282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构:排序

文章目录 1. 预备知识2. 插入排序2.1 直接插入排序2.2 折半插入排序 3. 希尔排序4. 交换排序4.1 冒泡排序4.2 快速排序4.2.1 选取基准值4.2.2 分割策略4.2.3 小数组4.2.4 基于Hoare版本 最后优化 递归版本 快速排序4.2.5 快速排序的非递归版本4.2.6 快速排序的分析 5. 选择排序…

[云原生1.]Docker数据管理与Cgroups资源控制管理

文章目录 1. Docker的数据管理1.1 数据卷1.1.1 示例 1.2 数据卷容器 2. 容器互联3. Cgroups资源控制管理3.1 简介3.2 cgroups的主要功能3.3 cpu时间片的简单介绍3.4 对CPU使用的限制3.4.1 对CPU使用的限制(基于单个容器)3.4.2 对CPU使用的限制&#xff0…

Linux CentOS 8(网卡的配置与管理)

Linux CentOS 8(网卡的配置与管理) 目录 一、项目介绍二、命令行三、配置文件四、图形画界面的网卡IP配置4.1 方法一4.2 方法二 一、项目介绍 Linux服务器的网络配置是Linux系统管理的底层建筑,没有网络配置,服务器之间就不能相互…

个微多账号聚合聊天管理如何实现?

在日常工作中,我经常遇到以下问题: 1. 微信号众多,需要频繁切换设备和账号,导致工作效率低下。 2. 无法及时回复客户消息,客户体验不尽如人意。 3. 难以随时掌握员工与客户的沟通情况,导致员工沟通质量难…

利用Python计算彭于晏的BMI

1 问题 彭于晏是众多男生女生心中的男神,那么他的BMI为多少,身体状况如何呢? 2 方法 运用python中数据类型转换,while 循环语句,if/elif/else 条件语句等方法计算彭于晏的BMI,判断他的身体状况。 计算公式…

烘焙蛋糕外卖小程序商城的作用是什么

随着经营成本上升及电商业态的冲击,传统烘焙蛋糕门店商家经营止步不前,加之口罩原因更是雪上加霜,引流拓客、经营转化复购大幅度降低,而线上又因外卖平台间的激烈竞争,导致中小烘焙蛋糕商家进退两难。 烘焙蛋糕店经营…

学习git博客

git新建分支并且提交代码过程 1. git pull <codeBaseAddress> [分支名(默认是master)] 2. cd <projectName> 3. git branch <newBranchName> // 创建分支 4. git checkout <newBranchName> // 切换到新分支 // 开始写你的新代码 5. git add . //…

Hive篇面试题+详解

Hive篇面试题 1.什么是Hive&#xff1f;它的主要功能是什么&#xff1f; Hive是一个基于Hadoop的数据仓库工具&#xff0c;它提供了一个类SQL的查询语言&#xff08;HiveQL&#xff09;来查询和分析存储在Hadoop集群中的大规模数据。Hive的主要功能是将结构化数据映射到Hadoop…

动手学深度学习—使用块的网络VGG(代码详解)

目录 1. VGG块2. VGG网络3. 训练模型 1. VGG块 经典卷积神经网络的基本组成部分是下面的这个序列&#xff1a; 1.带填充以保持分辨率的卷积层&#xff1b; 2.非线性激活函数&#xff0c;如ReLU&#xff1b; 3.汇聚层&#xff0c;如最大汇聚层。 定义网络块&#xff0c;便于我…

【安全体系架构】——零信任网络架构

什么是零信任网络架构&#xff1f; 零信任网络架构是一种网络和信息安全模型&#xff0c;它将传统的信任模型颠覆&#xff0c;不再信任内部或外部用户、设备或网络。相反&#xff0c;它将每个访问请求都视为不受信任&#xff0c;要求对每个用户、设备和流量都进行认证和授权&a…

2023-10-20 LeetCode每日一题(根据规则将箱子分类)

2023-10-20每日一题 一、题目编号 2525. 根据规则将箱子分类二、题目链接 点击跳转到题目位置 三、题目描述 给你四个整数 length &#xff0c;width &#xff0c;height 和 mass &#xff0c;分别表示一个箱子的三个维度和质量&#xff0c;请你返回一个表示箱子 类别 的字…

底层驱动day2作业

控制三盏灯亮灭 代码&#xff1a; //head.h#ifndef __HEAD_H__ #define __HEAD_H__ #define PHY_RCC 0x50000A28 #define PHY_GPIOE_MODER 0x50006000 #define PHY_GPIOF_MODER 0x50007000 #define PHY_GPIOE_ODR 0x50006014 #define PHY_GPIOF_ODR 0x50007014#endif //demo…

播放svga动画的时候 第一次加载资源,然后切换动画 会动画会重影

如果在切换 SVGA 动画的过程中&#xff0c;第一次加载时出现重影&#xff0c;但第二次及以后的切换没有重影&#xff0c;这可能是由于第一次加载时资源缓存不完整导致的。为了解决这个问题&#xff0c;你可以尝试以下方法&#xff1a; 1.在每次切换动画之前&#xff0c;预先加…

C#经典十大排序算法(完结)

C#冒泡排序算法 简介 冒泡排序算法是一种基础的排序算法&#xff0c;它的实现原理比较简单。核心思想是通过相邻元素的比较和交换来将最大&#xff08;或最小&#xff09;的元素逐步"冒泡"到数列的末尾。 详细文章描述 https://mp.weixin.qq.com/s/z_LPZ6QUFNJcw…

vue-pdf多页预览异常,Rendering cancelled, page 1 Error at BaseExceptionClosure xxx

项目开发使用vue-pdf,单页情况预览正常&#xff0c;多页vue-pdf预览异常&#xff0c;第一次预览时&#xff0c;会先弹出异常模态窗口&#xff0c;关闭模态窗口&#xff0c;pdf又是正常显示&#xff0c;报错信息及异常截图如下&#xff1a; 报错信息 Rendering cancelled, page…

【PADS封装】2.4G PCB天线封装(量产用)

包含了我们平时常用的2.4GPCB天线封装&#xff0c;总共11种封装。完全能满足日常设计使用。 下载链接&#xff01;&#xff01;https://mp.weixin.qq.com/s?__bizMzU2OTc4ODA4OA&mid2247548815&idx1&sne625e51a06755a34ab4404497770df48&chksmfcfb2c58cb8ca5…

MMWHS数据集

Multi-Modality Whole Heart Segmentation (MMWHS) 数据集[1] 是多模态医疗图像数据集&#xff0c;有磁共振&#xff08;Magnetic Resonance Imaging&#xff0c;MRI&#xff09;和断层扫描&#xff08;Computed Tomography&#xff0c;CT&#xff09;两种&#xff0c;[2] 对数…

探索图像分割技术:使用 OpenCV 的分水岭算法

贾斯卡兰巴蒂亚 一、说明 图像分割是计算机视觉的一个基本方面&#xff0c;多年来经历了巨大的转变。这将是一系列三篇博客文章&#xff0c;深入研究三种不同的图像分割技术 - 1使用OpenCV的经典分水岭算法&#xff0c;2使用PyTorch实现的基于深度学习的UNet模型&#xff0c;3 …

【Redis】数据结构之dict

目录 dict的基本结构dict的相关操作函数底层通用的之查找插入key-value对应该放入ht表的哪个槽rehash过程 dict的基本结构 typedef struct dict {dictType *type;void *privdata;dictht ht[2];long rehashidx; /* rehashing not in progress if rehashidx -1 */unsigned long…

Ubuntu小知识总结

Ubuntu相关的小知识总结 一、Ubuntu系统下修改用户开机密码二、Vmware虚拟机和主机之间复制、粘贴内容、拖拽文件的详细方法问题描述Vmware tools灰色不能安装解决方法小知识点&#xff1a;MarkDown的空格 三、Ubuntu虚拟机网络无法连接的几种解决方法1.重启网络编辑器2. 重启虚…