220413数据分析总结
前言
220413数据分析中, 所得出的分析结论包括: 居家办公期间对于洗浴和清洁的需求降低, 使用厨房场景的次数增多, 并且用餐时间相对于平时发生了一些变化. 除此之外我对220413的数据分析工作进行了经验的总结, 包括获取数据的环节以及探索业务的环节.
一、数据洞察
1. 获取数据
- 使用大数据工具进行查询, 我们使用的工具有哪些特点?
- 还可以使用哪些工具来查询分析数据?
- 总结查询代码的实践经验和犯过的错误
- 通过什么方式系统地提升优化查询的能力?
我使用的的HUE可以在浏览器端的Web控制台上查询数据, HUE可以与其他框架集成, 例如企业提供了与IMPALA和HIVE的两个集成. 总结一下实践过程中 Impala 和 Hive 的对比: Impala 更快, 使用了其他的优化技术, 例如 Impala 没有像 Hive 一样使用 MapReduce 进行并行计算. Impala 在查询过程中没有容错逻辑, 如果执行过程中发生故障则直接返回错误, 这时候我们重新再查一次就好了. Hive 适合长时间的批处理查询分析, Impala 适合交互式SQL查询.
目前对于其他工具的了解: 第一, Navicat是类似与HUE的工具. 第二, MySql一类的数据库, 通过给各个用户不同的权限来决定用户能够进行哪些操作. 第三, 开发人员可以使用JDBC的接口来操作不同的数据库, 也可以通过Python的接口来查询数据.
总结实践SQL代码的经验 , 不过这只限于我所使用的工具, 不一定适用其他的工具.
--0
select day, count(id)
from DWS
where city_name= 'bj'
and appname='bj'
and day between "2022-01-01" and "2022-04-01"
GROUP BY day
order by day asc;--1
select day, count(id)
from DWS
where day between "2022-01-01" and "2022-04-01"
and appname='bj'
and city_name= 'bj'
GROUP BY day
order by day asc;
数据仓库架构往往会有时间分区, 数据分区包括范围分区, 列表分区和哈希分区. 例如, 按照数据表中时间值的范围进行分区, 就是范围分区. 按照各个离散的新闻标签对新闻数据进行分类, 就是列表分区. 哈希分区能自动完成数据在分区上均匀分布.
--不使用子查询
SELECT base.day, count(base.id)
FROM DWD as baseINNER JOINDWS notbaseON base.id = notbase.id
WHERE
base.day between "2022-01-01" and "2022-04-01"
AND notbase.appname = 'bj'
AND notbase.city_name= 'bj'
GROUP BY base.day
order by base.day asc;--使用子查询
with sub_id
AS( SELECT idFROM DWS as notbaseWHERE appname = 'bj'AND city_name = 'bj'
)
SELECT base.day, count(base.id)
FROM DWD as baseINNER JOIN sub_idON base.id = sub_id.id
WHERE
base.day between "2022-01-01" and "2022-04-01"
GROUP BY base.day
order by base.day asc;
在进行联表操作的时候, how join 问题最常用的还是 inner join. 其实我认为子查询是非常适合人的阅读的, 但我在最开始使用子查询其实是因为 join 条件中解决 " id = (SELECT id FROM ...... ) " 一对多的错误暂时不会处理, 后来我发现这可以用简单的 WHERE 条件解决.
--数据去冗余
with sub_id
AS( SELECT distinct idFROM DWS as notbaseWHERE appname = 'bj'AND city_name = 'bj'
)
SELECT distinct base.day, base.use_duration, base.begin_hour, base.end_hour
FROM DWD as baseINNER JOIN sub_idON base.id = sub_id.id
WHERE
base.day between "2022-01-01" and "2022-04-01"
AND
base.use_duration > 600
GROUP BY base.day
order by base.day asc;
去重: 在查询一部分数据的时候, 由于数据的特点发现存在很多完全一样的数据. 去重逻辑在于, 日期和小时存在重复很正常, 但是我们通过引入开始和结束时间(精确到秒这个维度), 很大概率上不会存在四个指标完全相同但是数据却不相同的情况, 直接用 distinct 的方式做到去重.
要系统的学习如何优化SQL代码, 首先SQL的基础知识从《SQL必知必会》开始尽量做到规范, 接着深入体系《Oracle架构体系》和《高性能MySQL》, 了解分布式也很重要《维度建模》和《大数据之路》
2. 探索业务
- 数据在分析之前, 用数据来探索业务行为时要注意哪些工作? 探索时, 如果发现数据质量不理想的话要做哪些工作?
有的时候我们对于数据表中字段的含义并不理解, 自然就不可能展开分析, 理解数据含义除了咨询内部的数据开发人员, 更重要的方法是自己尝试理解整个业务场景, 站在用户的角度用经验来寻找对字段的合理解释.
要理解数据再深一层次的意义, 需要借助描述性统计的方法. 我们使用了excel 中的一些方法, 比如说日数据变动不明显的情况下, 我通过求每天的变化率, 正负值标以红绿两色来帮助找到规律, 我们发现了周末和工作日存在的明显不同. 比如说对多个维度(小时段, 日期, 次数)的数据进行描述性统计, 需要对原始数据做数据透视表.
我们在挖掘数据的时候可能发现数据在某个地方可能出现了很大的错误, 不能够理解这样的错误, 这个时候挽救的办法是根据数据表的血缘分析, 找到这个数据表的上游来找到可能正确的数据. 不过很大的可能是, 你没办法找到正确的上游数据表, 或者所有的上游数据表都不满足你对数据质量的要求, 这个时候建议抛弃异常值或者对其做平滑处理.
我用到了一些可视化的经验方法: 第一, 超过三维的数据作图是比较困难的, 最好是降维处理方便理解. 第二, 可以使用前端开发常用的工具作图, 但是建议在分析的后期使用, 前期尽量使用简单的绘图办法, 以免绘图需求变动带来不必要的工作量. 第三, 企业内部以往的分析报告往往具有很好的参考价值, 对于企业内部人员来说大家可能更习惯某些可视化方法.
二. 项目遗留问题:
- 如何去培养思考能力和业务思维来拓宽我们分析数据的维度?
- 描述性统计分析的结果可视化能力, 可以用什么样的方法来提升?
- 可视化的重要工具需要学习掌握哪些?
- 在写作分析报告和PPT的时候, 如何美化我们的PPT?
- PPT在修改阶段需要如何解决外部提出的需求?
220413数据分析总结相关推荐
- Velodyne VLP-16激光雷达数据分析
Velodyne VLP-16激光雷达数据分析 Velodyne VLP-16激光雷达保持了 Velodyne 在 LiDAR 中的突破性重要功能:实时收发数据.360 度全覆盖.3D 距离测量以及校 ...
- 2021年大数据Spark(五十一):Structured Streaming 物联网设备数据分析
目录 物联网设备数据分析 设备监控数据准备 创建Topic 模拟数据 SQL风格 DSL风格 物联网设备数据分析 在 ...
- 2021年大数据Spark(二十八):SparkSQL案例三电影评分数据分析
目录 案例三:电影评分数据分析 代码实现 Shuffle分区数 案例三:电影评分数据分析 使用电影评分数据进行数据分析,分别使用DSL编程和SQL编程,熟悉数据处理函数及SQL使用,业务需求说明: 对 ...
- Excel的数据分析—排位与百分比
Excel的数据分析-排位与百分比 某班级期中考试进行后,按照要求仅公布成绩,但学生及家长要求知道排名.故欲公布成绩排名,学生可以通过成绩查询到自己的排名,并同时得到该成绩位于班级百分比排名(即该同学 ...
- python 面板数据分析_科学网—Python中的结构化数据分析利器-Pandas简介 - 郑俊娟的博文...
此文转载于XXXXXX处... Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数 ...
- ESI计算机排名2021年01月,喜忧参半!2021年5月ESI世界大学排行榜,21个学科排名数据分析!...
原标题:喜忧参半!2021年5月ESI世界大学排行榜,21个学科排名数据分析! 2021年5月13日,科睿唯安发布了<2021年5月ESI中国高校排行榜>. 一.计算机科学专业 1.清华大 ...
- python数据分析要学什么_python数据分析学什么?python数据分析入门
有很多没有基础的新手想学习python数据分析,却在纠结python数据分析难不难学?下面万古网校小编给大家整理了资料,为各位分享! 1.python难不难? Python可以说是目前比较主流而且易学 ...
- python数据分析实训大纲,数据分析大赛考纲:(二)Python数据分析应会部分
1.1. Numpy库的使用 1.1.1. Numpy数组的创建 1. 了解Numpy中ndarray数组对象的性质和特点: 1. 掌握通过array()函数创建Numpy数组的方法,会将Python ...
- v-model无法对返回的数据进行填写_学会数据分析思维,学会透过事物看本质
这段时间通过学习相关的知识,最大的变化就是看待事物更加喜欢去了解事物后面的本质,碰到问题后解决问题思路也发生了改变. 举个具体的例子,我在学习数据分析,将来会考虑从事这方面的工作,需要掌握的相关专业知 ...
最新文章
- scau实验题 8596 Longest Ordered Subsequence
- 多值参数-定义及作用
- Swift傻傻分不清楚系列(八)函数
- glShadeModel
- TYUT-A专题题解(二)
- WORD图标显示为白色解决办法
- windows删除“找不到该项目”的文件
- 洛谷P1510 精卫填海(简单的dp)
- C#WinFormRS232串口工具
- WinDbg手动修复堆栈
- 101 Ruby Code Factoids
- kernel: kmalloc
- Mybatis-Plus eq、ne、gt、lt、ge、le
- 区块链公链“三元悖论”专题之可扩展性(Scalability)
- kubectl cp命令
- 男人应该做的50件事(17-33)
- Git代码合并之使用 rebase 整理提交历史
- 这个四川女生火了!692分想当程序员:女生学编程的3大优势
- 华清远见上海中心22071班 9.7作业
- 谦卑若愚,好学若饥(Stay Hungry,Stay Foolish)