使用shell读取文本文件发送到kafka

#!/bin/sh

## 参数定义
dt=`date +"%Y%m%d" -d "-1 days"`
outpath=/xxxx_log_${dt}.txt   
brokerlist=192.168.1.100:9092,192.168.1.101:9092,192.168.1.102:9092

echo $dt $outpath $brokerlist

## 查询hive表,输出文件到指定路径
hive -e "select name,age from test" > ${outpath}
## 判断文件大小,如果大于0,则加载文件,写入kafka
## 注意 结尾的 | > out.txt要加上,否则会出现很多奇怪的大于号 fileSize
=`du -b ${outpath} | awk '{print $1}'` if [ $fileSize -gt 0 ] then cat ${outpath} | ./kafka_2.11-1.0.0/bin/kafka-console-producer.sh --broker-list ${brokerlist} --sync --topic test1 | > out.txt fi

 

posted @ 2018-01-17 18:23  硅谷工具人  阅读(4819)  评论(0编辑  收藏  举报
成功之道,在于每个人生阶段都要有不同的目标,并且通过努力实现自己的目标,毕竟人生不过百年! 所有奋斗的意义在于为个人目标实现和提升家庭幸福,同时能推进社会进步和国家目标! 正如古人讲的正心诚意格物致知,修身齐家治国平天下。