- 博客(21)
- 收藏
- 关注
原创 Hdfs关于数据读取和写入的流程的分析
摘要:HDFS数据写入流程分为三个阶段:1)客户端向NameNode申请上传权限并生成元数据;2)数据被切分为128MB块,通过管道方式依次传输到3个DataNode;3)各节点确认接收后循环处理后续块,最终通知NameNode完成。读取流程较简单:客户端获取元数据后,直接从多个DataNode并行读取数据并缓存到本地磁盘。整个过程体现了HDFS的分布式存储特性与高效数据传输机制。
2026-01-14 16:57:03
9
原创 母婴市场分析研究报告--使用pandas
本文对母婴商品交易数据进行了完整的分析流程。首先导入并清洗数据,处理缺失值、异常值,转换日期格式;然后通过分组聚合和可视化分析销量趋势,发现2014年销量最高,且1-2月销量下降与春节假期显著相关;进一步分析春节前后销量变化,验证了假期对销售的影响;最后计算并可视化复购率,展示不同月份的用户重复购买情况。整个分析运用了Pandas数据处理、Matplotlib/Seaborn可视化等技术,揭示了销售数据中的关键模式和影响因素。
2025-09-27 17:07:23
310
原创 pandas数据分析项目
在分析数据之前我们要先看一下数据大致情况,尤其是info检查数据类型和缺失值。先把常用的matplotlib,pandas,seaborn导入进去,并处理文字的显示问题。②检查缺失值--这里我们选择直接删除缺失值。④完成相应的数据类型的转换。①提取地址当中的二级地区。②提取楼层当中的三个等级。撮镇-文一名门金隅裕溪路与东风大道交口。龙岗-临泉东路和王岗大道交叉口东南角。龙岗-临泉东路和王岗大道交叉口东南角。④提取卧室和厅的数量。生态公园-淮海大道与大众路交口。生态公园-淮海大道与大众路交口。
2025-09-21 12:37:30
269
原创 网络购物数据仓库与商业智能分析项目
电商数据分析平台搭建摘要 本文详细介绍了电商数据分析平台的架构设计与实现过程,主要包含以下内容: 技术架构:采用HDFS、Hive、Zeppelin、Sqoop、Flume等技术栈构建数据平台,使用FineBI进行可视化分析。 数据处理流程: 数据准备阶段:通过Sqoop从MySQL导入Hive ODS层 数据分层:建立ODS、DW、APP三层数据仓库 拉链表实现:订单表采用拉链存储实现历史数据追踪 核心业务实现: 时间维度分析:按季度、月份、周和节假日统计订单量及金额 地域维度分析:全国/区域/城市三级分
2025-07-28 15:51:13
330
原创 缓慢变化维--结合时间分区字段(包含编写更新脚本)
本文详细介绍了数据仓库中拉链表的实现过程。首先在MySQL创建商品表并导入初始数据,然后在Hive中建立ODS层分区表和DW层拉链表。通过Sqoop将MySQL数据导入Hive ODS层,再通过SQL脚本将数据加载到DW层。重点阐述了如何更新历史数据并加载新数据实现缓慢变化维,包括设置动态参数、获取失效和有效数据、处理增量数据等步骤。最后通过临时表将处理后的数据写入DW层并清理临时表,完整展示了拉链表的构建和维护流程。
2025-07-15 12:56:52
589
原创 用拉链表处理缓慢变化维(SCD)
本文介绍了数据仓库中拉链表的实现方法。拉链表是一种处理缓慢变化维的技术,通过维护记录的有效期范围来保存历史数据。文章以MySQL为例,详细演示了拉链表的创建、初始加载和更新过程:1) 创建DimCustomer表作为拉链表,包含代理键、业务键、有效日期和当前状态标记;2) 通过模拟客户地址变更的场景,展示如何关闭旧记录(设置EndDate)并插入新记录;3) 强调拉链表通过StartDate和EndDate标识记录的有效期,而非修改原始数据。文中还解答了实现过程中的常见问题,如ETL日期变量的作用、变化记录
2025-07-13 18:25:58
844
原创 数据仓库维度模型设计
摘要:事实表的关键在于把握度量、粒度和外键三要素。粒度确定每行数据代表的业务含义(如一笔订单)。主键作为外键引用(代理键)是处理缓慢变化维的有效方法。数据模型可分为三种类型,合理设计能达到类似索引的优化效果。建模需结合业务场景,通过外键关联实现数据关系表达。
2025-07-13 15:41:40
363
原创 sql题目--instr函数判断字符串存在问题
摘要:INSTR函数用于判断字符串是否存在,示例展示了如何使用该函数替代LIKE进行多条件查询。SQL语句"select*from Products where prod_desc like'%toy%' and prod_desc like'%carrots%'"可以改写为使用INSTR函数来检查产品描述中是否同时包含"toy"和"carrots"两个关键词。该函数提供了一种高效的方式来进行字符串存在性检测。
2025-06-28 19:49:06
221
原创 sql题目--case when自定义排序
文章摘要:本文探讨了两种排序方法。首先可以直接按26字母顺序排序,其次介绍了使用CASE WHEN语句对数据进行分类,将其转换为整数,从而实现自定义排序效果。这种方法比简单字母排序更灵活,允许用户根据需要自定义排序规则。摘要控制在150字以内。
2025-06-28 19:46:34
155
原创 sql题目--学习sum开窗函数累计求和
摘要:文章介绍了如何使用SQL中的SUM窗口函数进行累计求和。示例展示了对利润表按日期排序并计算累计利润的方法,使用SUM(profit) OVER (ORDER BY profit_date)语句实现。该函数可以方便地进行数据累计计算,适用于财务分析等场景。
2025-06-28 19:38:20
294
原创 sql题目--用regexp判断电话号码格式
摘要:本文介绍使用正则表达式过滤电话号码数据的方法。通过regexp函数匹配两种标准格式:10位数字号码(如1234567890)或带连字符的格式(如123-456-7890)。SQL查询从contacts表中选择符合格式要求的记录,确保电话号码数据规范有效。该正则表达式验证号码开头不为零,且符合指定的数字组合模式。
2025-06-28 19:21:24
226
原创 sql题目--面对多表连接的粗暴想法
③对于怎么联立,大概正常来说由于t1.device_id对应着t2.device_id有多个,所以对t1、t2用right join ,再和t3用left join--但其实对于没有空的情况,inner join会产生笛卡尔积,与他们的效果一样。①先看涉不涉及null,涉及的话注意外连接和条件,这里不涉及。,对t1、t2、t3之间建立联系之后筛选出大学。⑤最后使用之前讲过的sum+if函数统计正确率。
2025-06-28 19:14:20
230
原创 sql题目--if 函数(结合sum统计特定数目)
摘要:本文介绍了使用IF函数处理SQL查询的方法。主要内容包括:1)通过LEFT JOIN连接两表并筛选8月份数据,使用ON条件保留原表NULL值;2)针对复旦大学数据,统计设备ID、问题总数及正确回答数;3)使用IF函数计算正确答题数,通过GROUP BY按设备和学校分组。该查询实现了对特定学校8月份答题情况的统计与分析。
2025-06-28 18:48:45
183
原创 sql题目--三个排序的开窗函数
摘要:本文探讨了使用开窗函数对学校GPA进行排序的三种方法:row_number()严格排序、rank()并列跳号、dense_rank()并列不跳号。提出解决方案:先用row_number()按学校分组排序,标记为rk,再通过子查询筛选每个学校rk=1的记录,获取各校最低GPA数据。该方法避免了groupby的局限性,实现了同时查询学校和排序GPA的需求。
2025-06-28 11:53:04
230
原创 sql题目--substring_index 函数从字符串提取值
摘要:针对处理长字符串中特定字段的问题,介绍了substring_index函数的用法。该方法通过两次"钩回"操作:先提取字段及后续内容,再单独获取目标字段。示例展示了从用户档案中提取年龄字段并统计各年龄人数,相较substr函数更适用于带分隔符的长字符串处理。
2025-06-28 11:38:51
131
原创 sql题目--replace 函数取代目标字符串
摘要:REPLACE函数用于替换字符串中的指定内容。示例中,将user_submit表中的blog_url字段中的'http:/url/'部分替换为空字符串,结果命名为user_name。SQL语句为:SELECT device_id, REPLACE(blog_url,'http:/url/','') AS user_name FROM user_submit。该函数常用于数据清洗和格式转换。
2025-06-28 11:25:35
203
原创 sql题目--date_sub 函数判断相邻日期
文章摘要:本文介绍了使用SQL的date_sub函数计算用户留存率的方法。通过联立两个表,筛选日期间隔一天的用户数据,并采用外连接确保分母正确性。具体实现步骤包括:1)使用distinct去重获取设备ID和日期;2)通过left join关联两个子查询表;3)用date_sub函数设置日期条件为前一天;4)最终计算留存率比值。该方法有效解决了用户留存分析的统计问题。
2025-06-28 11:17:26
200
原创 sql题目--group by 注意事项--substr 函数暴力截取值
摘要:SQL中使用聚合函数时,若查询包含非聚合字段,必须使用GROUPBY分组。例如查询8月每日问题数:SELECT SUBSTR(date,9,2) AS day, COUNT(1) FROM question_practice_detail WHERE date LIKE '2021-08%' GROUP BY day。SUBSTR函数用法:参数1为字符串,参数2为起始位置,参数3为截取长度(默认至末尾)。
2025-06-28 11:00:33
225
原创 sql题目--使用case when 函数对某一数据分类
摘要:SQL中使用CASE WHEN进行分类处理时,需注意一对一和一对多的分组关系。当统计多条件分类时,GROUP BY必须包含完整的CASE WHEN表达式。MySQL允许在GROUP BY和ORDER BY中使用SELECT定义的别名(如cn),但Oracle和HiveSQL需严格遵守SQL执行顺序,不允许直接引用别名。示例展示了按年龄25岁为界分组统计用户数量的两种写法。
2025-06-28 10:48:28
205
原创 滴滴出行案例
摘要:本文介绍了基于Hadoop生态系统的数据仓库处理流程。业务数据从MySQL业务库通过Hive进行分层处理(ODS原始层、DW中间层、APP应用层),并使用分区字段按时间管理。重点展示了DW层数据加工案例,包括字段转换和日期格式化处理。文章详细说明了7个业务指标分析方法,如订单统计、预约占比、时空分布分析等。最后通过Sqoop将处理结果导入MySQL分析库,并使用FineBI进行可视化展示。整个流程涉及HDFS、Hive、Sqoop、MySQL等技术组件。
2025-06-26 20:17:55
861
1
数据处理日期维度表:2020年每日属性详尽记录及分类
2025-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅