【慕课网实战】Spark Streaming实时流处理项目实战笔记十五之铭文升级版
铭文一级:[木有笔记]
铭文二级:
第12章 Spark Streaming项目实战
行为日志分析:
1.访问量的统计
2.网站黏性
3.推荐
Python实时产生数据
访问URL->IP信息->referer和状态码->日志访问时间->写入到文件中
本地与虚拟机都要装了python才能运行
重要代码:
#coding=UTF-8
#数组最后一个没有“,”
url_paths = [
"class/128.html",
"class/112.html",
"class/143.html",
"class/141.html",
"learn/821",
"course/list"
]#增强for循环
#sample(seq, n) 从序列seq中选择n个随机且独立的元素;
return ".".join([str(item) for item in slice])
def sample_url()
return random.sample(url_paths,1)[0]
query_log = "{url}".format(url=sample_url())
if __name__ == '__main__':
main()
http_referers =[
"http://www.baidu.com/s?wd={query}",
"http://www.sogou.com/web?query={query}",
"http://cn.bing.com/search?q={query}",
"http://search.yahoo.com/search?p={query}"
]
time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
前面要:
import time
import random
将文件输出到一个文件:
f = open("/home/hadoop/data/project/logs/access.log","w+")
f.write(query_log + "\n")
上部分参考代码:
貌似多了个逗号!!!
下部分参考代码:
refer_str = random.sample(http_referers, 1)
代码编辑完后,需要先创建一个logs文件夹
然后执行py文件,到logs文件夹可查看到产生的数据
查看多少条信息指令:wc -l access.log
动态添加:tail -200f access.log //然后再执行一次
铭文三级:
一张图让你学会Python基础语法(看不清可另存为):
http://blog.csdn.net/qq_30845505/article/details/51588423
python编程中的if __name__ == 'main': 的作用和原理
http://www.dengfeilong.com/post/60.html
str() 函数将对象转化为适于人阅读的形式
>>>s = 'RUNOOB'
>>> str(s)
'RUNOOB'
>>> dict = {'runoob': 'runoob.com', 'google': 'google.com'};
>>> str(dict)
"{'google': 'google.com', 'runoob': 'runoob.com'}"
>>>
但此处 ([str(item) for item in slice])意思是将数字数组转为字符数组
uniform() 方法将随机生成下一个实数,它在 [x, y) 范围内。
format函数的使用
age = 25
name = 'Caroline'
print('{0} is {1} years old. '.format(name, age)) #输出参数
print('{0} is a girl. '.format(name))
print('{0:.3} is a decimal. '.format(1/3)) #小数点后三位
print('{0:_^11} is a 11 length. '.format(name)) #使用_补齐空位
print('{first} is as {second}. '.format(first=name, second='Wendy')) #别名替换
print('My name is {0.name}'.format(open('out.txt', 'w'))) #调用方法
print('My name is {0:8}.'.format('Fred')) #指定宽度
输出:
【慕课网实战】Spark Streaming实时流处理项目实战笔记十五之铭文升级版的更多相关文章
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记十之铭文升级版
铭文一级: 第八章:Spark Streaming进阶与案例实战 updateStateByKey算子需求:统计到目前为止累积出现的单词的个数(需要保持住以前的状态) java.lang.Illega ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记十四之铭文升级版
铭文一级: 第11章 Spark Streaming整合Flume&Kafka打造通用流处理基础 streaming.conf agent1.sources=avro-sourceagent1 ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记二之铭文升级版
铭文一级: 第二章:初识实时流处理 需求:统计主站每个(指定)课程访问的客户端.地域信息分布 地域:ip转换 Spark SQL项目实战 客户端:useragent获取 Hadoop基础课程 ==&g ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记十六之铭文升级版
铭文一级: linux crontab 网站:http://tool.lu/crontab 每一分钟执行一次的crontab表达式: */1 * * * * crontab -e */1 * * * ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记十二之铭文升级版
铭文一级: ======Pull方式整合 Flume Agent的编写: flume_pull_streaming.conf simple-agent.sources = netcat-sources ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记十一之铭文升级版
铭文一级: 第8章 Spark Streaming进阶与案例实战 黑名单过滤 访问日志 ==> DStream20180808,zs20180808,ls20180808,ww ==> ( ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记九之铭文升级版
铭文一级: 核心概念:StreamingContext def this(sparkContext: SparkContext, batchDuration: Duration) = { this(s ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记八之铭文升级版
铭文一级: Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记七之铭文升级版
铭文一级: 第五章:实战环境搭建 Spark源码编译命令:./dev/make-distribution.sh \--name 2.6.0-cdh5.7.0 \--tgz \-Pyarn -Phado ...
随机推荐
- Cookie的存活时间
1. 默认情况下,cookie数据保存到内存里,当浏览器关闭后,Cookie数据被销毁 2. 持久化存储: setMaxAge(int seconds) 1. 正数:将Cookie数据写到硬盘的文件中 ...
- 9-安装redis
1.在linux上安装C语言环境 yum install gcc-c++ 2.解压源码包 tar -xvf /opt/soft/redis-3.0.0.tar -C /opt/app/ 3.编译源码( ...
- spring 入门demo
相关资源 官网地址:http://projects.spring.io/spring-boot/ 创建maven项目 勾选箭头处,创建一个简单的项目 填写groupId和artifactId,点击确 ...
- JAVA多线程17个问题
1.Thread 类中的start() 和 run() 方法有什么区别? Thread.start()方法(native)启动线程,使之进入就绪状态,当cpu分配时间该线程时,由JVM调度执行run( ...
- CentOS6.8 下RPM方式安装MySQL5.6
1. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名称) yum remove mysql mysql-server mysql-libs(我用的上面的)或者 [root ...
- Open SuSE中自定义的环境变量
针对与其它发行版本的Linux,网络上给出的添加环境变量的位置都是在/etc/profile文件中添加.在Open SuSE中也有/etc/profile文件,不过从该文件的前几行注释可以看出,官方建 ...
- 离线部署 pm2
1. install nodejs curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash - 2.安装pm ...
- ODPS SQL <for 数据定义语言 DDL>
数据定义语言:(DDL) 建表语句: CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...
- 剑指offer例题——用两个栈实现队列
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作.队列中的元素为int类型. 首先是概念理解,栈和对列存取的区别 栈(stack)是一种后进先出(last in first out, LI ...
- React Native在window下的环境搭建(一)
React Native官方开发文档 以下是本人抄录的: 初次接触React Native感觉和React很像,却是有点类似,但不完全是,React Native有自己的组件对象,不过它也自定义的组件 ...