您的位置:首页 > 运维架构 > Shell

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

2017-07-17 14:48 1131 查看
#!/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必须顶格写,否则会报错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: