引言:流式数据处理主要处理实时数据,由于实验教学过程中,每个同学无法拿到实时数据,因此我们开发shell脚本模拟实时数据生成,支持后续实验。
实验目的:通过开发模拟实时点击流shell脚本,模拟实时点击流数据生成,支持后续实验
实验方法:通过shell开发脚本运行,实时打印输出数据到控制台,模拟实时数据产生。
实验步骤:
1、选择集群中的一台虚拟机,最好和flume/kafka等在同一台,在该虚拟机的合适位置创建目录,取名:real-timeData
[lh@master scripts]$ mkdir real-timeData
[lh@master scripts]$ cd real-timeData/
[lh@master real-timeData]$ pwd
/home/lh/scripts/real-timeData
2、在该目录realdata下,创建shell脚本文件,取名:real-time-producer.sh
[lh@master real-timeData]$ touch real-time-producer.sh
3、编写real-time-producer.sh脚本
#! /bin/bash
# ---
# author: lh
# create time: 2023-12-6
# version : 1
# ---
function rand(){
min=$1
max=$(($2-$min+1))
num=$(date +%s%N)
echo $(($num%$max+$min))
}
count=$(rand 10 30)
job_id=$(rand 10001 10010)
echo "`date +%Y%m%d%H%M%S`" 0 $job_id $count
count=$(rand 20 40)
job_id=$(rand 10001 10010)
echo "`date +%Y%m%d%H%M%S`" 1 $job_id $count
代码输出说明:
日期,工作类型,岗位ID,岗位数量
工作类型:1代表新招聘岗位,0代表找工作的人
实验结果:
运行代码得到结果如下:
结论:
通过shell脚本可以开发程序模拟产生随机数据,达到实验要求。