最近在做项目交接,是一个计算任务。由于需要比对数据并行。就新建了几个hive表和以前老数据表结构保持一致,新表名。
但是有 将近两年的数据,需要导到新表里。由于数据在hive 是根据dt 时间分区的,用sql导起来很麻烦。所以写了个脚本跑。
hive 其实就是在hdfs上建了一个文件而已
例如 db app; table user; dt 日期分区
就可以在文件路径上找到/app.db/user/dt=2017-01-13/xxx.txt
其中xxx.txt 就是
当然不一定是txt 什么都有可能 也有没后缀的。
use app;
select * from user where dt='2017-01-13';
查出来的数据了。
所以我们可以根据这个文件路径来写脚本导数据了
#!/usr/bin/env bash
declare -i i=1
while ((i<=500))
do
DATE=`date
Hive表数据迁移:从旧表到新表的批量导入

本文介绍了如何在项目交接中处理大量的Hive表数据迁移。由于数据按dt时间分区,直接使用SQL进行迁移不便,作者选择编写脚本来实现。解释了Hive表在HDFS上的文件结构,并提出可以根据文件路径直接操作来导数据。内容适合对Hive有一定了解的读者。
最低0.47元/天 解锁文章
8707

被折叠的 条评论
为什么被折叠?



