Spark(二)——标签计算、用户画像应用

本文详细介绍了如何使用Spark进行标签计算,包括数据筛选、标签分离和统计。同时,探讨了用户画像的概念、作用、挑战及处理流程,特征工程在用户画像构建中的重要性,以及性别判断等具体实现案例。最后,提到了用户画像系统架构和相关实战项目推荐。
摘要由CSDN通过智能技术生成

一、标签计算

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

86913510	{"reviewPics":null,"extInfoList":[{"title":"contentTags","values":["午餐","分量适中"],"desc":"","defineType":0},{"title":"tagIds","values":["684","240"],"desc":"","defineType":0}],"expenseList":null,"reviewIndexes":[2],"scoreList":null}

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

77287793	{"reviewPics":null,"extInfoList":[{"title":"contentTags","values":["干净卫生","服务热情"],"desc":"","defineType":0},{"title":"tagIds","values":["852","22"],"desc":"","defineType":0}],"expenseList":null,"reviewIndexes":[1,2],"scoreList":null}

处理过程分析

(1)第一步:筛选出extInfoList不为空的记录,并去除values中的标签值

获取到的记录形式

86913510 午餐,分量适中
77287793 干净卫生,服务热情

(2)第二步:分离标签

获取到的记录形式

86913510 午餐,1
86913510 午餐,1
86913510 分量适中,1
77287793 干净卫生,1
77287793 服务热情,1

(3)第三步:统计标签

获取到的记录形式

JSON解析代码


public class JsonParse {
   

    public static String parseTag(String json) {
   

        JSONObject jsonObject = JSONObject.parseObject(json);
        JSONArray extInfoList = jsonObject.getJSONArray("extInfoList");
        if (extInfoList == null) {
   
            return "";
        }
        for (Object obj : extInfoList) {
   
            JSONObject jsonObject1 = (JSONObject) obj;
            if (jsonObject1.getString("title").equals("contentTags")) {
   
                String array2 = jsonObject1.getString("values");
                return array2.replace("[", "").replace
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值