2023_Spark_实验二十六:编写Shell模拟生成点击实时数据

引言:流式数据处理主要处理实时数据,由于实验教学过程中,每个同学无法拿到实时数据,因此我们开发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=$1max=$(($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 $countcount=$(rand 20 40)
job_id=$(rand 10001 10010)
echo "`date +%Y%m%d%H%M%S`" 1 $job_id $count

代码输出说明:

日期,工作类型,岗位ID,岗位数量

工作类型:1代表新招聘岗位,0代表找工作的人

实验结果:

运行代码得到结果如下:

结论:

通过shell脚本可以开发程序模拟产生随机数据,达到实验要求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/218699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Database】什么是数据库?常见的数据库类型有哪些?

什么是数据库?常见的数据库类型有哪些? 首先,什么是数据库?把它想象成一个数字游乐场,我们以结构化的方式组织和存储大量信息。现在,让我们来谈谈数据库的主要类型。 关系型数据库: 想象一下…

深度学习的目标检测算法综述

信息记录材料 2022年10月 第23卷第10期 【摘要】目标检测是深度学习的一个重要应用,目前在智能驾驶、工业检测相关领域都获得应用,具有重要的现实意义。本文对基于深度学习目标检测算法原理和应用情况进行简述,首先介绍结合区域提取和卷积神经…

Spring上IOC之@EnableAspectJAutoProxy

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

3分钟,掌握“曲面屏显示屏”

在3分钟内掌握“曲面屏显示屏”的概念和特点,可以按照以下步骤进行: 一、了解曲面屏显示屏的基本概念 曲面屏显示屏是一种采用柔性塑料的显示屏,主要通过OLED面板来实现。相比直面屏幕,曲面屏幕弹性更好,不易破碎。此外…

扫描电镜(SEM)样品在进行扫描电镜观察前需要进行哪些处理

对于扫描电镜(Scanning Electron Microscope,SEM)样品的制备,需要经过一系列处理步骤以确保样品表面的干净、导电性好,并且能够提供高质量的显微图像。以下是一些常见的处理步骤: 1. 固定样品(…

锂电3V升12V1A升压芯片WT3209

锂电3V升12V1A升压芯片WT3209 WT3209是一款高功率密度全集成BOOST升压转换器,具备高效能解决方案。3V升12V1A,5V升12V1A WT3209内部集成的功率MOSFET管导通电阻为上管13mΩ和下管11mΩ,具备2A开关电流能力,并且能够提供高达12.6V的输出电压。…

算法:只出现一次的数字(位运算:异或运算)

异或运算 时间复杂度 O(n) 空间复杂度 O(1) /*** param {number[]} nums* return {number}*/ var singleNumber function (nums) {let item nums[0]if (nums.length > 1) {for (let i 1; i < nums.length; i) {// 将10进制转成2进制进行异或运算&#xff08;相同得0&…

CB400X即将停产?NX400上线,本田最新的外观设计直接就国产了?

NX500 之前米兰车展的时候给大家分享过本田对于500系列的升级&#xff0c;并且宣布NX500代替CB500X&#xff0c;采用了全新的外观设计&#xff0c;没有看过的小伙伴可以查阅下之前的文章内容&#xff0c;不过最新的工信部的信息&#xff0c;可以看到NX500的外观设计应用到了CB…

光栅化渲染:光栅化算法实现

光栅化是将图元转换为二维图像的过程。 该图像的每个点都包含颜色和深度等信息。 因此&#xff0c;对图元进行光栅化由两部分组成。 第一个是确定窗口坐标中整数网格的哪些方格被图元占据。 第二个是为每个这样的方块分配颜色和深度值。 &#xff08;OpenGL 规范&#xff09; N…

CTD测试流程

连接 连接17Plus&#xff0c;用usb转232线&#xff0c;db9公针2、3分别接Data I/O的2、3。DB9的5接Data I/O的1。尼龙塞子打开状态。不用闭合。 软件连接 打开SeaTermAF V2&#xff0c;注意打开前先把串口插上&#xff0c;否则软件读不到串口。如果读不到&#xff0c;就在插…

C/C++ 快乐数: 编写一个算法来判断一个数n是不是快乐数

题目&#xff1a; 编写一个算法来判断一个数n是不是快乐数。 快乐数的定义&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。 如果这个过…

使用不同的颜色映射绘制热力图Seaborn

使用不同的颜色映射绘制热力图 一、使用 Seaborn 库创建热力图二、cmap关于其他颜色的设置三、自己设置颜色映射 一、使用 Seaborn 库创建热力图 选择Seaborn颜色官网 使用 Seaborn 库创建热力图&#xff0c;你可以使用 seaborn.heatmap() 函数。下面是一个示例代码&#xf…

网络基础(七):传输层协议介绍

目录 一、TCP协议&#xff08;传输控制协议&#xff09; 1、TCP协议介绍 2、TCP协议特性 3、TCP报文格式 4、TCP的三次握手 4.1TCP三次握手的概念 4.2TCP三次握手流程图 4.3 TCP三次握手阐释说明 5、TCP的四次挥手 5.1TCP四次挥手的概念 5.2TCP四次挥手的流程图 5.…

【C语言】RDMACM、Verbs API与epoll一起使用的示例

一、epoll介绍 epoll是Linux内核为处理大批量文件描述符而作了改进的poll&#xff0c;是Linux下多路复用IO接口select/poll的增强版本&#xff0c;它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。 以下是epoll的主要使用方法和优点&#xff1a; epo…

jsp+servlet+图书交流平台 有filter过滤器

在线图书推荐与交流平台 随着数字化的进展和人们对持续学习的追求&#xff0c;在线资源变得越来越受欢迎。对于众多读者来说&#xff0c;找到合适的书籍和与其他读者交流阅读体验是非常有价值的。为了满足这一需求&#xff0c;我们提出了一个在线图书推荐与交流平台的设计。此…

使用MIB builder自定义物联网网关的MIB结构

文章目录 物联网网关初识&#xff08;了解即可&#xff09;IoT的通用MIB库结构MIB Builder开发流程指导问题总结子叶没所属分组值范围不为0 物联网网关初识&#xff08;了解即可&#xff09; 网关又称网间连接器、协议转换器。简单说&#xff0c;物联网网关是一台智能计算机&a…

【八】python装饰器模式

文章目录 8.1 装饰器模式简介8.2 装饰器模式作用8.3 装饰器模式构成8.3.1 装饰器模式包含以下几个核心角色&#xff1a;8.3.2 UML类图 8.4 装饰器模式python代码实现8.4.1 基本装饰器的使用8.4.2 多个装饰器的执行顺序8.4.3 带返回值的装饰器的使用8.4.4 装饰器模式-关联类模式…

排序算法---希尔排序

1. 基本思想 希尔排序是插入排序的一种&#xff0c;它与直接插入排序不同的是&#xff0c;它会优先比较距离较远的元素&#xff0c;因此希尔排序又被称为“缩小增量排序”。希尔排序的实现思路是&#xff1a;先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序&…

​flutter 代码混淆

Flutter 应用混淆&#xff1a;Flutter 应用的混淆非常简单&#xff0c;只需要在构建 release 版应用时结合使用 --obfuscate 和 --split-debug-info 这两个参数即可。–obfuscate --split-debug-info 用来指定输出调试文件的位置&#xff0c;该命令会生成一个符号映射表。目前支…