基于Spark统计购物网站标签

news/2024/5/9 12:30:14/文章来源:https://blog.csdn.net/u013337425/article/details/88618132

文章目录

    • 1、项目描述
    • 2、数据描述
    • 3、代码实现

1、项目描述

目前,越来越多的商家驻扎于购物网站中,每天都有大量的用户在不同的商家购物,然后进行评价,如图1,图2,图3所示。评论越多,说明该商品越火热,商家知名度也越高。因此,统计海量用户对不用商品的评论,然后进行分析。商家根据分析结果做出调整,这可以影响大众的消费趋势和消费心理。

2、数据描述

评价标签生成有很多方法:人工运营,机器抽取等,此处假定每条评价的标签已经生成完成。在业务上展示评价标签时,需要通过对该商家的所有用户的评价标签进行聚合,然后设置一定的策略进行展示,此处仅仅通过标签的频次进行聚合。评价标签存储为json格式,需要进行解析,此处解析使用java脚本。运行时请把temptags.txt文件上传到hdfs上,并修改scala脚本中的path路径。

  • 数据格式
    86913510    {“reviewPics”:null,“extInfoList”:null,“expenseList”:null,“reviewIndexes”:[2],“scoreList”:[{“score”:5,“title”:“口味”,“desc”:""},{“score”:5,“title”:“服务”,“desc”:""},{“score”:5,“title”:“环境”,“desc”:""}]}

    77287793    {“reviewPics”:null,“extInfoList”:null,“expenseList”:null,“reviewIndexes”:[1,2],“scoreList”:null}

    说明:第一个字段86913510表示店家ID,字段以\t分隔。

3、代码实现

  • 首先用SparkContext读取hdfs上的数据,然后我们以\t为分隔符切割数据,取第二个字段。数据具体分析流程如下:

    val poi_taglist: RDD[(String, String)] = poi_tags.map(e => e.split("\t")).filter(e => e.length == 2)// 772897793 -> "回头客", "上菜快", "环境优雅", "性价比高", "菜品不错".map(e => e(0) -> ReviewTags.extractTags(e(1)))// 过滤评论串不为0.filter(e => e._2.length > 0)// 772897793 -> ["回头客", "上菜快", "环境优雅", "性价比高", "菜品不错"].map(e => e._1 -> e._2.split(","))// 772897793 -> "回头客", 772897793 -> "上菜快", 772897793 -> "环境优雅",// 772897793 -> "性价比高", 772897793 -> "菜品不错".flatMapValues(e => e)// (772897793,"回头客") -> 1, (772897793,"上菜快") -> 1, (772897793,"环境优雅") -> 1.map(e => (e._1, e._2) -> 1)// 聚合 (772897793,"回头客") -> 340, (772897793,"上菜快") -> 560.reduceByKey(_ + _)// 772897793 -> List("回头客",340), 772897793 -> List("上菜快",560).map(e => e._1._1 -> List((e._1._2, e._2))) // 元组不能聚合,列表可以聚合// 772897793 -> List(("回头客",340), ("上菜快",560), ...)    把key相同的都放在一个list里面.reduceByKey(_ ::: _) // ::: 表示列表累加.map(e => e._1 -> e._2.sortBy(_._2)// 772897793 -> List(("回头客", 780), ("上菜快", 560), ("环境优雅", 340), ...).reverse.take(10)// 772897793 -> List("回头客":780,"上菜快":560,"环境优雅":340), ...).map(a => a._1 + ":" + a._2.toString)// 772897793 -> "回头客":780,"上菜快":560,"环境优雅":340, ....mkString(","))
    
  • 源码和数据
    https://github.com/fengqijie001/shopTags

    希望可以帮到各位,不当之处,请多指教~?

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

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

相关文章

python爬虫之爬取网站小说

继上次的使用类的方法爬取的单页单章小说后,在准备爬取整部小说,遇到点困难,先用函数式编程试试结果。 代码如下: 函数式编程 17K小说网爬取龙井迷案小说 # 导入第三方库 import requests from lxml import etree import time fro…

养眼神器,爬取美女网站个人的写真套图

很久之前写的爬虫,一直没有放出来,这次放出来,单线程爬取,又有延时,所以有点慢。不过这也不耽误爬取了一个人的2万多张写真套图,因为这个人的很好看,哈哈哈。。。不过后来又全都删了&#xff0c…

NET开发人员必知的几个网站

当前全球有数百万的开发人员在使用微软的.NET技术。如果你是其中之一,或者想要成为其中之一的话,我下面将要列出的每一个站点都应该是你的最爱,都应该收藏到书签中去。 对于不熟悉.NET技术的朋友,需要说明一下,.NET提…

局域网ip部署web网站

局域网ip的设备如何做部署web网站 今天,在家部署web网站,因为用的家用路由器,自身电脑ip是局域网ip(192.168.1.107),因此无法通过ip:端口号访问,那怎么办呢? 度娘发现&a…

windows server 2008 Asp.net 网站环境配置

1.建立用户www,隶属于: 2.IIS建立网站,应用程序池设置为: 3.网站,高级设置中“物理路径凭证”,需要输入用户www: 4.网站根目录设置用户www只读(左一),对于需要写入的文件夹&#xff…

针对DLL的网站授权License破解方法

有很多Asp.Net制作的网站,每年都需要授权。如果破解授权呢。本文将一步步的操作。 以下内容只是作者兴趣所致,不代表任何立场。 一般而言,License文件是一个加密文件,通过bin下面的DLL组件进行判断。我们可以对DLL进行改造。 1. …

快速免费搭建属于自己的网站

快速免费搭建属于自己的网站 本网文由忆云竹业务 编辑发布 很多人想拥有一个简单的个人网站,但是域名、主机空间以及程序代码却是不会。现在带给大家简单快速拥有个人网站 网站展示 个人网页 大量个人网页模板,炫酷、简约、个性等等 表白网页 浪漫、…

百度中指定某个网站来搜索

法:在搜索引擎的框框里输入 " site:wenku.baidu.com题目" 或者 "site:wenku.baidu.com 题目"。 解释:【site命令是指在制定的网站里搜索,加号也是要的,如果嫌输入加号麻烦,可以用空格代替。】 …

jQuery Mobile 移动网站开发之日期控件Mobiscroll 2.5 使用说明

福利&#xff1a;阿里云服务器-全场景 首次购买ECS享实例首台5折&#xff0c;限时领取红包 在用jQuery Mobile 做手机网站、需要用日期控件 找了3个 分别展示下&#xff1a; 1.可以说是html5自己的 <label for"date-1"> 购买时间* </label> <…

宝塔面板网站运行php文件的时候提示404错误

其实报这个错误原因大部分在php的原因。 解决办法1&#xff1a; 开启php的错误提示 修改配置文件 将display_errors Off 修改成display_errors On 修改完之后重启php即可 注&#xff1a;7月份以前安装过宝塔php的默认是关闭错误提示的&#xff0c;7月份后安装的默认开启 如…

利用XSS注入漏洞能对网站做什么

或许大家经常看一些高手测试XSS漏洞都是alert一个窗口来。便以为XSS即是如此&#xff0c;当自己alert出窗口来&#xff0c;便说自己发现了漏洞。 其实远没这么简单。你发现的只是程序员的一个小bug而已&#xff0c;远谈不上XSS。它们的关系如同系统漏洞与漏洞利用的关系&…

从零带你用VuePress来搭建个人网站

VuePress可以让你非常方便的在Markdown文档中编写Vue代码&#xff0c;VuePress会为每个页面预渲染生成静态的HTML,同时&#xff0c;每个页面被加载的时候&#xff0c;将作为SPA运行 这里我将带大家一步步用VuePress来搭建个人网站 环境搭建 查看node的版本号 node -vnode.…

如何用织梦程序搭建一个网站

用织梦程序建站是目前互联网很多新手站长朋友用比较多的&#xff0c;不仅因为它可以二次开发&#xff0c;还有就是它的代码修改没那么复杂&#xff0c;加上知名度还好&#xff0c;不会的在网上有很多资源可以找!小编初次做站就是用织梦的&#xff0c;后来用asp、wordpress程序也…

如何去掉dedecms织梦程序网站首页域名后出现的index.html的情况?

如题&#xff0c;想必很多用dedecms织梦程序系统建站的朋友都会遇到;在访问dede织梦网站首页时&#xff0c;域名后面会多出了index.html。乐晨同很多朋友一样遇到过同类似的问题&#xff0c;当我在访问乐晨博客网站首页&#xff0c;输入域名www.ilechen.com时&#xff0c;访问的…

带www的域名与不带www的域名,那个更有利于网站优化

当乐晨在刚进入SEO&#xff0c;初生小白的时候&#xff0c;曾自己问到过是带www的二级域名有利于网站优化&#xff0c;还是不带www的一级域名(即顶级域名)更有利于网站优化呢? 带着疑问&#xff0c;乐晨通过互联网百度搜索引擎了解到不带www的一级域名比带www的二级域名更有利…

个人站长财神的13招简单实用且见效快的网站推广方法

‍ 对于我们这做站的一批群体及网站运营专员来说&#xff0c;搭建一个完整的站或拿的一个网站之后&#xff0c;就是要想尽一切办法进行网站推广宣传&#xff0c;从而为网站带来流量&#xff0c;实行转化等&#xff0c;那么如何做呢?下面跟着乐晨一起看下个人站长财神分享13招简…

什么是SEO,学习SEO的六大步骤

温馨提示 乐晨博客导航子栏&#xff1a;seo学习-旨在搜集互联网seo基础知识&#xff0c;提供新人SEO学习参考!seo学习就来乐晨博客&#xff0c;这里为你提供良好的SEO学习平台! 要学习seo,首先你要了解seo是什么&#xff1a;seo即是搜索引擎优化英文Search Engine Optimization…

如何快速有效的学习好SEO,SEO学习的方法有哪些?

温馨提示 乐晨博客导航子栏&#xff1a;SEO学习-旨在搜集互联网SEO基础知识&#xff0c;提供新人SEO学习参考!seo学习就来乐晨博客&#xff0c;这里为你提供良好的SEO学习平台! 导读&#xff1a;本文是继前篇学习SEO的六大步骤的再一次详细介绍SEO学习的方法及技巧!作者&#x…

如何搭建dedecms织梦程序本地测试-站长新手织梦建站必备

对于刚初入织梦建站的新手来说&#xff0c;在了解如何建立一个网站就急忙购买域名、服务器、dedecms织梦程序之后&#xff0c;就进行网站建设并开始修改运营了! 然而对于一个刚搭建起来的dede织梦新站往往有很多问题需要修改&#xff0c;这时乐晨相信很多新手朋友会在虚拟主机(…

给站长或SEOER推荐一款免费的文章采集工具

对于网站站长或SEOer来说&#xff0c;网站内容一直是我们最头痛的事。尤其在我们可能从来没有接触过的许多行业&#xff0c;去写内容与寻找内容都是非常麻烦的事情。因此&#xff0c;对于个人站长或SEOer来说&#xff0c;必备站长资源或SEO资源就显得非常重要了&#xff0c;虽然…