shell脚本 日志文件批量导入hive

本文介绍了一个Shell脚本案例,该脚本能够遍历指定目录下的所有.txt文件,并将这些文件的数据加载到Hive表中。通过使用输入重定向方式,实现了Hive命令的自动化执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash

for file in /home/robust/*.txt

do

echo "$file"  #输出文件路径

echo "${file:0-16:8}" #从倒数16位开始,往后截取8位

hive << EOF  #输入重定向

use database;  

load data local inpath '$file' overwrite into table table_name [partition (store_day=$(file:0-16:8))];

EOF

done 


chmod +x ./shell.sh

输入重定向

我们经常在shell脚本程序中用<<EOF重定向输入,将我们输入的命令字符串作为一个执行程序的输入,这样,我们就不需要在那个程序环境中手工输入命令,以便自动执行我们需要的功能。

当然这个标志性字符不能用保留字,最常用的还是EOF。

需要注意的是,第一个EOF必须以重定向字符<<开始,第二个EOF必须顶格写,否则会报错。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值