需求分析
网站日志需求分析
由于缺乏真实网站日志,在这里用 Python 2.7.5
构建日志生成器模拟网站日志,作为之后实验的基础。
之后的实验为用 Flume
采集网站的日志信息,基于此做一系列的处理。
为搭建好网站之后采集真实网站日志信息做准备。
数据集需求分析
由于缺乏有效的 ALS
数据集做为模型的训练与测试,在这里用 Python 2.7.5
构建日志生成器模拟数据集。
为 Spark Streaming + ALS
推荐系统的模型的训练与测试做准备
环境说明
系统: CentOS 7.2 mini
Python
版本: 2.7.5
(PS: Python
为 CentOS 7.2 mini
自带的,可通过 python --version
来查看 Python 的版本,注意 Python 2.X 和 Python 3.X 存在很大的区别,这里采用的是系统自带的 Python 2.7.5
)
Python 日志生成器的编写
网站日志生成器的编写
格式可根据实际需求做出调整
generate_log.py
如下:
1 | #coding=UTF-8 |
数据集生成器的编写
我们所需要的数据集的格式为: user_id::food_id::food_rating
可根据实际需求做出调整
generate_dataset.py
如下:
1 | #coding=UTF-8 |
扩展
定时执行工具
Linux crontab
参照介绍可以得出每隔1分钟执行一次的 crontab 表达式 */1****
在 /abs/project
目录中新建日志生成器脚本 log_generator.sh
1 | # 新建日志生成器脚本 log_generator.sh |
新打开一个界面,然后查看输出 tail -200f /abs/project/data/log/access.log
为 log_generator.sh
增加可执行权限 chmod u+x log_generator.sh
执行脚本 ./log_generator.sh
配置 crontab
1 | # 配置 crontab |
小结
学会了用 Python 实现日志生成器的代码编写,并在此基础上进行相关拓展
学会了周期性执行任务的守护进程 crontab
的基本操作与使用