网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1.假如说,你要采集一批数据,你该怎么采集?
当需要采集一批数据时,首先要对数据源进行全面的分析。这个分析过程可以分为两个主要方面:数据质量分析和表之间关联关系的分析。
1.1 数据质量分析:
- 字段含义:了解每个字段代表的含义,确保理解数据的来源和内容。
- 数据类型:确认每个字段的数据类型,例如整数、文本、日期等,以便后续处理和分析。
- 空值情况:查看是否有字段存在空值,需要考虑如何处理这些空值,是填充还是剔除。
- 字典值:如果字段中存在字典值,需要搞清楚这些值所代表的具体含义,以便后续转换和解释数据。
1.2 表之间关联关系的分析:
- 外键:查看是否存在外键,外键可以帮助我们理解不同表之间的联系,从而进行数据关联和整合。
1.3 设计数据模型:
- 根据分析结果,设计数据模型,选择需要的字段并建立表格结构。
- 删除非关键字段,只保留对分析和业务有用的字段,以减少数据冗余和提高数据处理效率。
- 考虑业务的下钻性,即未来可能需要的数据分析需求,预留相关字段以支持未来的指标情况。
1.4 编写数据采集脚本:
- 最后,根据设计好的数据模型和字段需求,编写SQL脚本采集数据。
总结回答:
首先分析数据源中需要采集的表的数据质量情况以及表之间的关联关系:
1.针对数据质量情况:应该观看字段含有,字段的数据类型,字段中空值情况,以及字段中是否存在字典值,有的话需要弄清楚字典值所代表的含义,以便后续转换字典值。
2.针对表之间的关联关系:应该观看是否存在外键,以便为后续关联做好准备
分析完成后:设计数据模型,删除一些非关键字段,例如系统自带的业务标识字段,还应考虑后期业务的下钻性,选出我们可能需要的字段设计成表格,然后编写脚本采集数据。
2.Explain的使用
2.1 执行EXPLAIN命令:
输入类似如下的SQL查询,并在查询前加上EXPLAIN 关键字:
EXPLAIN SELECT \* FROM users WHERE id = 1;
2.2 查看执行计划:
- 执行上述命令后,系统会返回该查询语句的执行计划,包括索引|使用情况、访问类型、扫描行数等信息。
+----+-------------+-------+------------+------+---------------+---------+---------+-------+------+----------+-----------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------+------------+------+---------------+---------+---------+-------+------+----------+-----------------------+
| 1 | SIMPLE | users | NULL | ALL | NULL | NULL | NULL | NULL | 1 | 100.00 | Using where |
+----+-------------+-------+------------+------+---------------+---------+---------+-------+------+----------+-----------------------+
在查看执行计划时,可以重点关注以下参数来分析查询的性能和效率:
- select type: 显示了查询的类型,例如SIMPLE、PRIMARY、SUBQUERY 等,帮助你了解查询的复杂程度。
- table: 显示了涉汲的表名,帮助你确定执行计划中涉及哪些表。
- type: 表示访问类型,包括ALL (全表扫描)、INDEX (使用索引扫描)、 RANGE (范围扫描)等,指示了系统如何访问数据。
- possible_ keys和key: possible_ keys 列显示可能用于此查询的索引列表,而key列则显示实际使用的索引。如果key列为NULL,则表示没有使用索引。
- rows: 表示估计需要检查的行数,这对于评估查询效率很有帮助。行数越大,查询可能越慢。
- filtered: 表示通过表达式过滤后符合条件的行所占百分比。值为100%表示所有行都符合条件,值越小则表示有更多行被过滤掉。
- Extra: 提供了关于查询执行的其他信息,例如是否使用了临时表、文件排序等情况。
● 通过分析执行计划,你可以看到数据库是如何执行这个查询的,从而找出可能导致性能问题的地方。
总结回答:
通过使用 EXPLAIN 关键字,可以深入了解查询优化器的执行策略、索引使用情况、访问类型等重要息。
针对慢查询,分析 SQL 语句的执行计划可以帮助查明慢查询的根本原因,进而调整 SQL 语句结构以提升能。
此外,根据执行计划的指引,你还能判断是否需要创建适当的索引来优化查询,从而改善查询性能。
因此,借助执行计划的分析,你可以更有效地优化查询,提高数据库系统的整体性能。
3.项目讲解
项目经历
2022.04-2022.06--------------------------------------------------------------------- “dd”书城数据分析与可视化展示
技术框架:Hadoop+HDFS+Spark+Sqoop+DataX+ECharts+SpringBoot+Vue+Clickhouse
项目介绍:在基于Hadoop大数据环境下实现的用户行为数据分析项目中,针对Spring Boot框架下的图书购物商城进行用户行为分析。在商品浏览、加入购物车、购买以及商品和用户的增删改查等功能模块下进行了埋点,以便针对用户在线购物行为进行数据挖掘和统计分析。通过这些数据,我们可以生成可视化图表,从而更好地理解用户行为和偏好。
工作内容:
● 负责设计和实现数据埋点功能,收集用户行为数据
● 使用Sqoop对Mysql中的用户行为数据迁移到HDFS
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新