口碑评价项目

 需要了解的概念:

ODS层所需的工作

拿到数据以后看各个字段的数据是否有空值 重复

查看数据是否不符合规范,如果有,就要跟业务方沟通

DWD层所需的工作

1 整理数据映射文档

1.1 使用excel将ods明细表和维度表中的字段提取出来整理成数据字典

ods中的维度表字段过于简单,可以直接加工成dim表(复杂的dim维度表也要写映射)

1.2 根据指标,标明关键字段,去除无用字段

这三个字段是关联维度表的三个字段(JOIN ON的条件)

这是维度表中有用的字段

1.3 构建dwd事实表(明细表)映射关系文档 

dwd层事实表(明细表)一般是把ods层明细表和维度表的关键字段整合到一张表中

其中包括时间 维度 事实

dwd层事实表字段根据重要程度排序

 时间

维度

事实

2 建表

DWD层 事实表(宽表)命名规范     

dwd_需求主题_业务主题_star_dayadd(每日更新)

DIM 模型表(维度表)命名规范

dim_需求主题_维度主题_star_dayadd

2.1 根据数据字典建立dim维度表

 

注意品牌维度表在插入数据时需要brand和brand_manager两张ods表

2.2 根据映射文档构建dwd事实表(明细表)

3 插入数据

插入数据时使用where过滤脏数据

 

4 清空表中数据的方法:

工作中可能没有直接truncate的权限,可以用这种方法

INSERT overwrite TABLE 表名 PARTITION(dt='')
SELECT
所有字段(除了分区)
from 表名
where 1=0;

ADS应用层处理指标

观察指标

先确定维度字段,再确定指标字段

注意:

订单时间的粒度是天和月

建立指标表的过程(多张表)

根据维度建立指标表

每个指标对应一张表,复制粘贴即可,较为简单

                                                                    

指标4和指标5可以出自一张表(总金额这个字段可以累计)

  

 

7和8的指标可以出自一张表

建立指标表的过程(一张表)

打标签: 

维度:订单时间,订单月份,产品型号,产品名称,品牌信息,小微信息,省市信息,门店信息,渠道,企划经理,产业,正负口碑(where)

指标类型(1-8),指标值1,指标值2


罗列法:

维度:订单时间,订单月份,产品型号,产品名称,品牌信息,小微信息,省市信息,门店信息,渠道,企划经理,产业,正负口碑(where)

指标1,指标2,指标3。。。指标8

打标签法 

维度字段:将所有指标的维度都加上

指标类型:指标数决定

指标值:(1:value 2:value 3:value)

如果指标值很多就AS预留字段

罗列法

为什么左边少两个维度?

插入数据

分表

有几个指标就insert几次

打标签

有几个指标就insert几次

如果某个指标类型的指标值没有那么多,那么插入数据的时候插入空值即可

这里做指标1的时候使用shell脚本传递dt参数 后续全部使用

concat(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),'-指标类型')

指标1

指标1采用shell脚本传参的方式指定dt分区,后面几个指标全部采用时间戳函数


指标2

hdfs dfs -chmod -R 777 /tmp/hadoop-yarn

set hive.exec.dynamic.partition.mode=nonstrict;

指标7

写法1

不建议用这种写法 

写法2 

join on 1=1相当于cross join,即使没有关联条件,也会将两个表关联起来

调试报错? 

hdfs dfs -chmod -R 777 /tmp/hadoop-yarn

罗列

维度一样,指标

有几个指标就insert几次,只填一个指标,其他指标为null

对数(自测)

怎么找测试用例?

找出能证明业务对象具有唯一性 典型性 代表性的字段 比如订单号

测试结果一般写在word中

ods和dwd的对数环节

在ods层找出若干个限定条件,在dwd层查询,看是否与ods层数据一致

ods层编写测试用例并与dwd层对比

ods和ads的对数环节 

dwd和ads的对数环节

dwd层编写测试用例并与ads层对比

反思:

整个开发流程最为重要的两个环节

1.建模

包括建表 设计字段 

2.开发指标

熟悉业务,较强的sql逻辑能力

dt的两种传参方式

第一种

第二种

加工指标表的时候注意最细粒度

比如订单时间还可以分为 每天的订单和每月的订单

分表 打标签 罗列法的优势和注意事项?

注意:

建立指标表的时候最好按维度和指标的先后顺序排列表中字段,后续方便比对

静态分区和动态分区的对比

静态分区,直接指定分区为all 将所有时间 所有指标都放在其中 

INSERT overwrite TABLE koubei_ads.ads_opinion_label_all_dayadd_type_02 PARTITION (dt='all-08') 第八个指标


动态分区,以时间划分

INSERT overwrite TABLE koubei_ads.ads_opinion_label_all_dayadd_type PARTITION (dt)

concat(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),'-08') as dt

静态分区
①静态分区是在编译期间指定的指定分区名
②支持load和insert两种插入方式
        load方式
会将分区字段的值全部修改为指定的内容
一般是确定该分区内容是一致的时候才会使用
        insert方式
必须先将数据放在一个没有设置分区的普通表中
该方式可以在一个分区内存储一个范围的内容
从普通表中选出的字段不能包含分区字段
③适用于分区数少,分区名可以明确的数据


动态分区
①根据分区字段的实际值,动态进行分区
②是在sql执行的时候进行分区
③需要先将动态分区设置打开
④只能用insert方式
⑤通过普通表选出的字段包含分区字段,分区字段放置在最后,多个分区字段按照分区顺序放置

静态分区和动态分区的应用场景
静态分区:适合已经确认分区的文件,分区相对较少的,适合增量导入的应用场景

动态分区:适合根据时间线做分区,分区比较多的,适合全量导入的场景

字段问题

对数的时候我发现dwd没有订单号这个字段,导致对数过程比较麻烦,以后建立dwd明细表的时候记得添加一些有代表性的字段 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的竞赛项目学习资料,作为参考学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 云移杯-景区口碑评价分值预测初赛第9源码+学习说明.zip ## 任务 根据每个用户的评论,预测他们对景区的情感值(1~5)。 ## 思路 1. 分类问题:通过分类器学习评论与情感值的复杂映射关系。 2. 回归问题:情感值实际是有先后等级关系,因此可以采用回归大法,直接预测。 注意:分类可以采用softmax多分的手段,实测效果很差。因此,我最终还是采用了回归大法。 ## 特征 特征很重要,自然语言处理作为非结构化数据的代表需要处理成计算机能够认识的语言,才能送入分类器来学习。首先需要对中文评论进行分词,此处采用两种开源分词: - 结巴分词,pyhton版本,可直接在python处理。 - hankcs分词,java版本,NLP大神的开源大作,链接如下:https://github.com/hankcs/HanLP 分词之后,有两种处理手段: 1. 把每个词当作一个标签,进行one-hot-code编码,也就是bag of words,变成一个稀疏矩阵,采用ridge or lasso等LR模型进行学习。 2. word2vec,该方法能够避免one-hot-code编码的稀疏性,且可以计算每个词之间的距离,得到近义词,反义词等。当然它还不仅如此,比如:king - man + woman = queen 针对第一种bag of words得到每个单词对应的标签,比如: 喜欢 -> 23, 不喜欢 -> 24, 杭州 -> 68,注意在进行标记时,我是根据每个词出现的频率来打标签的,这里可以简单理解为"杭州"出现的频率 > "不喜欢"出现的频率 > "喜欢"出现的频率 ### 统计特征 根据情感值标签,统计每个词出现的频次,从大到小排序: 1. label_1: 不认 大众化 斑斑驳驳 过团 找罪 船下 双倍 透顶 一百 误导 差价 一片狼藉 夸耀 太矮 再行 倒闭 值不值 谁家 三十块 明教 质... 2. label_2: 小得 望了望 五毛钱 欲望 关了 形同虚设 多钱 无法比拟 次数 脏乱差 差太多 人多车 还花 金领 佳音 室内环境 宰死 王小二 帮到... 3. label_3: 聊胜于无 名声大噪 兵谏亭 超强 不太值 好深 耗时间 白跑一趟 慈城 做礼拜 请问 体会出 景點 看提 啥子 金融机构 亦昌冶坊 可不... 4. label_4: 显贵 古庙 菽庄花园 没钱 门市 总归 明月山 土家族 早年 天主教堂 虎丘 桥边 紫藤 九门 麋鹿 兴坪 冰挂 古装 偷偷 留着 一探... 5. label_5: 叩拜 海鲜 热播 泰国 环岛 只选 藏兵 广州市区 亲眼看到 妃子 铺满 千奇百怪 水底 大会堂 内景 西域 忘不掉 透明 加深 慈禧... 对于每个情感值标签,出现词的集合是不一样的,简单统计它们的频次之后,可取topK的词进行离散化,比如由label_1构成的top5词集合为{不认,大众化,斑斑驳驳 ,过团,找罪},接着针对每一条评论,如果这些词出现在这条评论里,则为1,否则为0,对应能够生成5个特征。label_2至label_5同理。 ### 地点特征(/java/NLP.java) 往往景区差评成群聚现象,好的地方大都好评,差的地方整体呈现脏乱差现象,因此: 1. 取整个词料库top100的地点进行离散化 2. 差评景区离散化 ### 情绪窗口(/features/feature_extract.py) 采用snownlp做情绪预测,输入一条评论能够得到(0~1)之间的情感值,越接近1情感越积极。直接做整条评论的情感值特征提取效果不佳,采用如下trick: - 固定一个情感窗口,如窗口大小为2,则根据评论"我 不 喜欢 这个 地方",能够得到【我不】,【不喜欢】,【喜欢这个】,【这个地方】四条独立的组合,取情感值的最大,最小,均值,能够有效提取情感值较差的词组合。 ### tf-idf 如果单纯的根据频次统计词集合,会出现大量无意义的词,如{的,是}等等这些词会占据绝大部分,因此可以借助停用词表来过滤这些无意义的词。不过实测效果不好,这需要一个很强大的停用词表,而每种NLP任务的停用词表千变万化,一套大而全的停用词往往得不到一个针对性的效果。 解决思路:采用关键词提取法,tf-idf会对一条评论的每个词进行打分,根据打分进行排序,就能得到topK的关键词集合。核心思想如下:首先一个词在该条评论中出现的次数与该分成正比,这样某个词
这个项目是一个基于自适应SVM(支持向量机)算法的电影评价倾向性分析系统,使用Python语言和Django框架进行开发。以下是该项目的资源介绍: 1. **系统设计**:项目采用Python Django框架来实现一个电影评价倾向性分析系统。这个系统通过自适应SVM算法来分析电影评论的情感倾向,从而帮助用户快速了解电影的口碑。 2. **技术实现**:项目利用了自然语言处理和机器学习技术来进行文本情感分析。这涉及到文本预处理、特征提取、模型训练和预测等多个方面的技术知识。 3. **功能特点**:系统旨在提供一种方便的电影评价分析方式,通过自动化分析电影评论来判断其情感倾向,提高用户对电影口碑的了解效率。 4. **资源内容**:项目资源可能包括完整的源代码、系统文档说明以及可能的数据集下载链接。这些资源可以帮助用户理解项目的实现细节和使用方式。 5. **应用价值**:这种系统对于需要快速了解电影口碑的用户非常有用,如电影观众、影评人等,可以显著提升他们获取信息的效率。 6. **研究意义**:通过这个系统,可以探索自然语言处理和机器学习技术在实际应用中的效果,特别是在处理实际问题如文本情感分析方面的能力。 总的来说,这个基于自适应SVM的电影评价倾向性分析系统项目不仅展示了自然语言处理和机器学习技术在实际应用场景中的潜力,也为相关领域的研究和开发提供了有价值的参考。对于对自然语言处理、机器学习和Web开发感兴趣的开发者来说,这个项目是一个不错的学习和实践机会。
SSM项目小程序“农业电商服务系统_30249.zip”是一个基于Spring、Spring MVC和MyBatis(SSM)框架开发的微信小程序,专为农产品的在线销售和推广而设计。该系统利用微信小程序的便利性结合SSM框架的技术优势,提供一个平台,让农民可以直接将产品销售给消费者,同时让消费者享受到新鲜、优质的农产品。 以下是该农业电商服务系统小程序的核心功能和特点: 1. **商品展示**:允许农民上传产品图片、描述和价格信息,方便消费者浏览购买。 2. **在线交易**:集成微信支付,提供安全便捷的在线购物体验,支持即时下单和支付。 3. **实时物流跟踪**:与物流公司合作,提供订单的实时物流状态追踪。 4. **评价反馈系统**:买家可以对购买的商品进行评价,形成口碑推荐,帮助提升卖家信誉。 5. **个性化推荐**:根据消费者的购买历史和喜好,智能推荐合适的农产品。 6. **农事教育**:提供农业知识和食品安全信息,增加消费者对农产品的了解和信任。 7. **互动社区**:建立消费者和农民之间的交流平台,促进双方的直接沟通和互动。 8. **数据分析后台**:为平台管理者提供强大的数据分析工具,优化运营策略和市场推广。 整个系统以微信小程序为前端,便于用户随时随地访问和使用;后端采用SSM框架,确保了数据处理的效率和稳定性。它不仅提供了一个方便的农产品线上销售和服务渠道,还通过综合化的服务和智能化的管理,助力农民拓宽销售渠道,提高收入,并使消费者能够轻松获得高质量的农产品,是现代农业与电子商务融合的创新应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值