机器学习---pySpark案例
1、统计PV,UV
1.if __name__ == '__main__':
2. conf = SparkConf()
3. conf.setMaster("local")
4. conf.setAppName("test")
5. sc = SparkContext(conf=conf)
6.
7. #pv
8. sc.textFile("./pvuv").map(lambda line:(line.split("\t")[4],1)).reduceByKey(lambda v1,v2:v1+v2).sortBy(lambda tp:tp[1],ascending=False).foreach(print)
9.
10. #uv
11.sc.textFile("./pvuv").map(lambda line:line.split("\t")[1]+"_"+line.split("\t")[4]).distinct().map(lambda one:(one.split("_")[1],1)).reduceByKey(lambda v1,v2:v1+v2).sortBy(lambda tp:tp[1],ascending=False).foreach(print)
2、统计除了某个地区外的UV
1.if __name__ == '__main__':
2. conf = SparkConf()
3. conf.setMaster("local")
4. conf.setAppName("test")
5. sc = SparkContext(conf=conf)
6.
7. #uv
8. sc.textFile("./pvuv").filter(lambda line:line.split("\t")[3]=='beijing').map(lambda line:line.split("\t")[1]+"_"+line.split("\t")[4]).distinct().map(lambda one:(one.split("_")[1],1)).reduceByKey(lambda v1,v2:v1+v2).sortBy(lambda tp:tp[1],ascending=False).foreach(print)
3、统计每个网站最活跃的top2地区
1.def get_top2_local(one):
2. site = one[0]
3. local_iterable = one[1]
4.
5. local_dic = {}
6. for local in local_iterable:
7. if local in local_dic:
8. local_dic[local] += 1
9. else:
10. local_dic[local] = 1
11.
12. sorted_list = sorted(local_dic.items(),key = lambda x:x[1],reverse= True)
13. return_list = []
14. if(len(sorted_list)>=2):
15. for i in range(0,2):
16. return_list.append(sorted_list[i])
17. else:
18. return_list = sorted_list
19.
20. return return_list
21.
22.
23.if __name__ == '__main__':
24. conf = SparkConf()
25. conf.setMaster("local")
26. conf.setAppName("test")
27. sc = SparkContext(conf=conf)
28.
29. #统计每个网站最活跃的top2地区
30. lines = sc.textFile("./pvuv")
31. site_local = lines.map(lambda line:(line.split("\t")[4],line.split("\t")[3]))
32. site_localIterable = site_local.groupByKey()
33. sorted_result = site_localIterable.map(lambda one:get_top2_local(one))
34. sorted_result.foreach(print)
35.
4、统计每个网站最热门的操作
1.def get_hot_operator(one):
2. site = one[0]
3. operator_iterable = one[1]
4.
5. operator_dic = {}
6. for operator in operator_iterable:
7. if operator in operator_dic:
8. operator_dic[operator] += 1
9. else:
10. operator_dic[operator] = 1
11.
12. sorted_list = sorted(operator_dic.items(),key = lambda x:x[1],reverse= True)
13. return_list = []
14. if(len(sorted_list)>=2):
15. for i in range(0,1):
16. return_list.append(sorted_list[i])
17. else:
18. return_list = sorted_list
19.
20. return return_list
21.
22.
23.if __name__ == '__main__':
24. conf = SparkConf()
25. conf.setMaster("local")
26. conf.setAppName("test")
27. sc = SparkContext(conf=conf)
28.
29. #统计每个网站最热门的操作
30. lines = sc.textFile("./pvuv")
31. site_operator = lines.map(lambda line:(line.split("\t")[4],line.split("\t")[5]))
32. site_operatorIterable = site_operator.groupByKey()
33. sorted_result = site_operatorIterable.map(lambda one:get_hot_operator(one))
34. sorted_result.foreach(print)
35.
5、统计每个网站下最活跃的top3用户
1.def get_uid_site_count(one):
2. uid = one[0]
3. site_iterable = one[1]
4.
5. site_dic = {}
6. for site in site_iterable:
7. if site in site_dic:
8. site_dic[site] += 1
9. else:
10. site_dic[site] = 1
11.
12. return_list = []
13. for site,count in site_dic.items():
14. return_list.append((site,(uid,count)))
15. return return_list
16.
17.def get_top3_uid(one):
18. site = one[0]
19. uid_count_iterable = one[1]
20. top3_uid = ['','','']
21. for tp in uid_count_iterable:
22. uid = tp[0]
23. count = tp[1]
24. for i in range(0,len(top3_uid)):
25. if(top3_uid[i]==''):
26. top3_uid[i] = tp
27. break
28. elif(count > top3_uid[i][1]):
29. for j in range(2,i,-1):
30. top3_uid[j] = top3_uid[j-1]
31. top3_uid[i] = tp
32. break
33.
34. return top3_uid
35.
36.
37.
38.if __name__ == '__main__':
39. conf = SparkConf()
40. conf.setMaster("local")
41. conf.setAppName("test")
42. sc = SparkContext(conf=conf)
43.
44. #统计每个网站最活跃的top3用户
45. lines = sc.textFile("./pvuv")
46. uid_site = lines.map(lambda line:(line.split("\t")[2],line.split("\t")[4]))
47. uid_siteIterable = uid_site.groupByKey()
48. uid_site_count = uid_siteIterable.flatMap(lambda one:get_uid_site_count(one))
49. top3_uid_info = uid_site_count.groupByKey().map(lambda one:get_top3_uid(one))
50. top3_uid_info.foreach(print)
相关文章:
机器学习---pySpark案例
1、统计PV,UV 1.if __name__ __main__: 2. conf SparkConf() 3. conf.setMaster("local") 4. conf.setAppName("test") 5. sc SparkContext(confconf) 6. 7. #pv 8. sc.textFile("./pvuv").map(lambda line:(l…...
【链表Linked List】力扣-24 两两交换链表中的节点
目录 题目描述 解题过程 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:he…...
企业微信协议开发,API接口调用
产品说明 一、 hook版本:企业微信hook接口是指将企业微信的功能封装成dll,并提供简易的接口给程序调用。通过hook技术,可以在不修改企业微信客户端源代码的情况下,实现对企业微信客户端的功能进行扩展和定制化。企业微信hook接口…...
代码随想录算法训练营 ---第五十五天
今天是 动态规划:编辑距离问题。 第一题: 简介: 动态规划五部曲: 1.确定dp数组的含义 dp[i][j] 表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。 2.确定递推公…...
【Intel/Altera】 全系列FPGA最新汇总说明,持续更新中
前言 2023年11月14日英特尔 FPGA中国技术日,Intel刚发布了新的FPGA系列,官网信息太多,我这里结合以前的信息,简单汇总更新一下,方便大家快速了解Intel/Altera FPGA家族。 目录 前言 Altera和Intel 型号汇总 1. Agi…...
利用flask将yolov5算法封装成在线推理服务
本脚本主要参考了yolov5工程文件夹下面的detect.py,将yolov5算法封装成了一个在线的推理服务,可以接受app请求,然后推理图片,并将检测结果以json返回,该服务可以供数据标注平台请求。 from flask import * import shutil import json import os import pynvml import pand…...
vue3父子传值实现弹框功能
在Vue3中,我们可以通过 provide 和 inject 来实现父子组件之间的数据传递,这也适用于实现弹框功能。下面是一个简单的例子: 父组件代码: <template><div><button click"showDialog">打开弹框</b…...
C++入门【2-C++ 数据类型】
C 数据类型 使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。 您可能需要存储各种数据类型(比如字符型、宽字符型、整型…...
按照官网文档 通过useExtendedLib扩展库 引入WeUI,报错 组件未定义 | 解决办法
检查开发者工具版本是否过老 参考博客 不要使用 游客模式,游客模式不支持,请注册Appid 使用。 注意 扩展库方式 和 npm 方式不能同时使用,会有相应报错...
Chat-GPT原理
Chat-GPT原理核心:基于Transformer 架构 以下是参考文献的部分截图原文说明: Transformers are based on the “attention mechanism,” which allows the model to pay more attention to some inputs than others, regardless of where they show up in t…...
GODOC命令无效,原因是需要手动安装
在看《GO程序设计语言》这本书,按照其中的内容,想看下GO自带的包的文档。 书中讲,可以直接输入GoDOC命令来打开一个服务器,从而可以用浏览器访问文档库。输入命令后,系统提示找不到该命令。 查了资料后才发现ÿ…...
忽略python运行出现的大量警告
添加以下代码即可 import warnings warnings.filterwarnings(ignore)...
【Polar靶场WEB签到】
题目: <?phperror_reporting(0);$file $_GET[file];if(!isset($file))$file 1;$file str_replace(../, , $file);include_once($file.".php");highlight_file(__FILE__); ?>解答:1、进入index页面,说让你加弟弟&#x…...
Linux详解——常用命令(二)
目录 一、常用命令 1.进程相关命令 2.vi命令 3.软件相关命令 RPM命令 YUM命令 4.用户和组相关命令 5.权限相关命令 一、常用命令 1.进程相关命令 # 1.ps 询在当前控制台上运行的进程 ps -aux 说明:查询系统中所有运行的进程,包括后台进程,其…...
TCP首部格式_基本知识
TCP首部格式 表格索引: 源端口目的端口 序号 确认号 数据偏移保留 ACK等 窗口检验和紧急指针 TCP报文段首部格式图 源端口与目的端口: 各占16位 序号:占32比特,取值范围0~232-1。当序号增加到最后一个时,下一个序号又回到0。用来指出本TCP报文段数据载…...
MIT线性代数笔记-第23讲-微分方程,exp(At)
目录 23.微分方程, e x p ( A t ) exp(At) exp(At)用矩阵求解微分方程矩阵指数二阶常微分方程 打赏 23.微分方程, e x p ( A t ) exp(At) exp(At) 用矩阵求解微分方程 例: { d u 1 d t − u 1 2 u 2 d u 2 d t u 1 − 2 u 2 \left \{ \b…...
windows下安装配置kafka
一、安装zookeeper 在使用Kafka之前,通常需要先安装和配置ZooKeeper。ZooKeeper是Kafka的依赖项之一,它用于协调和管理Kafka集群的状态。 ZooKeeper是一个开源的分布式协调服务,它提供了可靠的数据存储和协调机制,用于协调分布式…...
TV遥控器模拟鼠标键
需求 : tv上部分app不支持光标选中,如亚马逊,插上鼠标不方便,即可以用遥控器模拟鼠标滚动和点击 1.拦截上下左右键 在WMS::PhoneWindowManager::interceptKeyBeforeQueueing中监听上下左右左右键,进行拦截。 Overrid…...
检测判断IP合法性API接口
检测判断IP合法性API接口 一、检测判断IP合法性API接口二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例 三、 如何获取appKey和uid1、申请appKey:2、获取appKey和uid 四、重要说明 一、检测判断IP合法性API接口 一款免费的帮助你检测判断IP合法性API接口 二、…...
Linux swatch命令教程:如何监控系统活动(附案例详解和注意事项)
Linux swatch命令介绍 Swatch,全称为Simple Watcher,是一个简单的监视器,设计用于监控系统活动。为了使Swatch有用,它需要一个配置文件,该文件包含要查找的模式和在找到每个模式时要执行的操作。 Linux swatch命令适…...
基于springboot的旅游景点门票信息系统设计与实现-vue
目录 技术栈选择系统模块划分数据库设计接口设计规范前端实现要点安全措施部署方案开发流程测试计划扩展功能预留 项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 技术栈选择 后端采用Spring Boot框架,提供RESTful…...
TMS320F28P550SJ9实战解析:Sysconfig高效配置SCI多处理器通信模式
1. TMS320F28P550SJ9的SCI通信基础认知 第一次接触TMS320F28P550SJ9的SCI模块时,我花了整整三天才搞明白它的全双工特性。这个看似简单的串行通信接口,实际上藏着不少工程师容易忽略的细节。SCI(Serial Communication Interface)作…...
Llama-3.2V-11B-cot效果实测:同一张图不同提问下的CoT推理路径对比分析
Llama-3.2V-11B-cot效果实测:同一张图不同提问下的CoT推理路径对比分析 1. 工具概览与测试目标 Llama-3.2V-11B-cot是基于Meta多模态大模型开发的专业视觉推理工具,特别针对双卡4090环境进行了深度优化。本次测试将聚焦其核心功能——Chain of Thought…...
EDK II代码质量门禁报告:全面解析门禁检查结果与最佳实践
EDK II代码质量门禁报告:全面解析门禁检查结果与最佳实践 【免费下载链接】edk2 EDK II 项目地址: https://gitcode.com/gh_mirrors/ed/edk2 EDK II作为现代、功能丰富的跨平台UEFI和PI规范固件开发环境,其代码质量门禁系统是确保固件可靠性和安全…...
OpenClaw技能市场指南:Qwen3.5-4B-Claude适配的20个实用模块
OpenClaw技能市场指南:Qwen3.5-4B-Claude适配的20个实用模块 1. 为什么需要关注技能市场? 第一次接触OpenClaw时,我以为它只是个能执行简单命令的自动化工具。直到在ClawHub技能市场里发现"会议纪要生成器"模块,才意识…...
从实验室到产品:脑机接口(BCI)开发中,EEG实时预处理流程设计与避坑指南
从实验室到产品:脑机接口(BCI)开发中EEG实时预处理流程设计与避坑指南 在咖啡馆见到那位渐冻症患者用脑电波操控机械臂喝咖啡时,我意识到脑机接口技术正从实验室走向真实世界。但鲜有人提及的是,这套酷炫系统背后藏着怎样的信号处理炼狱——当…...
【亲测】OpenClaw怎么部署?2026年OpenClaw华为云8分钟搭建喂奶级教程
【亲测】OpenClaw怎么部署?2026年OpenClaw华为云8分钟搭建喂奶级教程。OpenClaw能做什么?OpenClaw怎么部署?本文面向零基础用户,完整说明在轻量服务器与本地Windows11、macOS、Linux系统中部署OpenClaw(Clawdbot&#…...
字节开源AI神器DeerFlow,4.1万星标刷屏,普通人免费就能用
文章目录这玩意儿不是ChatGPT那种"嘴炮型"选手35k星标怎么来的?字节这次把"龙虾"养明白了多智能体协作:不是一个人在战斗沙箱执行:让AI真的"动手"干活对比OpenAI:免费、本地、可控普通人怎么上手&a…...
终极指南:AutoDock Vina如何轻松处理含金属元素的分子对接难题
终极指南:AutoDock Vina如何轻松处理含金属元素的分子对接难题 【免费下载链接】AutoDock-Vina AutoDock Vina 项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina 你是否曾在使用AutoDock Vina进行分子对接时,遇到"Atom type Pd i…...
如何去选择品质优秀的段码屏厂家
在现代电子产品中,LCD液晶段码屏的应用越来越广泛。选择一家优质的厂家不仅能保证产品质量,还能提供高效的服务。本文将为您推荐十家在LCD液晶段码屏领域表现突出的厂家,帮助您做出明智的选择。1. 杭州斡能电子有限公司杭州斡能电子有限公司&…...
