最近在做项目交接,是一个计算任务。由于需要比对数据并行。就新建了几个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)