模拟生成新能源数车辆据

目录

一、模拟生成数据

 二、生成数据的相关函数写好后,我们就在主函数中调用已写好的函数,完成题目1、2、3、4的要求,以下函数生成的数据都存放在result列表中,后续在上传到hdfs中。

6、最终部署时,要将这些数据写到第一题的HDFS中。使用了python提供的库pyhdfs进行python和hdfs连接进行操作文件,我们先创建连接,填写好hosts地址进行连接。​编辑三、测试


要求:

1、最终部署时,要将这些数据写到第一题的HDFS中。(如果有多个组做第一题,则任选一个HDFS即可);

2、车辆数据要按天存储,数据格式是JSON格式,另外如果数据文件大于100M,则另起一个文件存。每天的数据总量不少于300M。比如假设程序是2023-01-1 03点运行,那么就将当前模拟生成的数据写入到HDFS的/can_data/2023-01-01文件夹的can-2023-01-01.json文件中,写满100M,则继续写到can-2023-01-01.json.2文件中,依次类推;

3、每天模拟生成的车辆数据中,必须至少包含20辆车的数据,即要含有20个车架号(一个车架号表示一辆车,用字符串表示);

4、每天生成的数据中要有少量(20条左右)重复数据(所有字段都相同的两条数据则认为是重复数据),且同一辆车的两条数据的数据生成时间间隔两秒;

5、每天生成的数据中要混有少量前几天的数据(即数据生成时间不是当天,而是前几天的)。

我们可以先进行生成数据,最后在上传到HDFS中,因此我们可以把要求1在最后一步做。

一、模拟生成数据

分别生成“车架号、行驶总里程、车速、车辆状态、充电状态、剩余电量SOC、SOC低报警、数据生成时间”字段,这里涉及到了random、time、radar随机生成数据的库

1、随机生成车架号,如下图

 2、随机生成行驶总里程、车速、这里使用了random.uniform生成了1000到10000的随机数,round保存两位小数,如下图

 上面函数已经写好了随机生成的数据,下面我们可以直接调用个字段的函数,拼接起来即可生成题目要求的数据。首先定义了一个generated_data的函数,输入的参数dataetimeStr是要生成数据的时间,可输入字符串:2023-06-30 03:00:00即可生成这个时间段3点后的数据,number是要生成的数据条数,代码如下图

 二、生成数据的相关函数写好后,我们就在主函数中调用已写好的函数,完成题目1、2、3、4的要求,以下函数生成的数据都存放在result列表中,后续在上传到hdfs中。

1、每天模拟生成的车辆数据中,必须至少包含20辆车的数据 ,这里我们调用了generated_data函数生成了100000条数据,如下图

2、每天生成的数据中要有少量(20条左右)重复数据,这里我们将上一步生成的数据随机获取下来,添加到result列表中 

 3、同一辆车的两条数据的数据生成时间间隔两秒,这里时间戳加2,即个每隔2秒生成一条数据,如下图

 

4、每天生成的数据中要混有少量前几天的数据,这里使用之前定义的函数生成了10条6月1日到6月29日的数据,在添加到result函数中,即可完成前几天的数据生成,如下图

 

5、辆数据要按天存储,数据格式是JSON格式,另外如果数据文件大于100M,则另起一个文件存。每天的数据总量不少于300M。

 

6、最终部署时,要将这些数据写到第一题的HDFS中。使用了python提供的库pyhdfs进行python和hdfs连接进行操作文件,我们先创建连接,填写好hosts地址进行连接。三、测试

这里题目要求是文件大于100M,则新建一个后缀+1的文件名,为了测试更快,便于观察,把100M的限值改为1024KB。

 

 下面,观察hdfs中的文件,这里可以看出文件一旦大于设定的值,就会自动更换文件名,进行继续存储。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值