数据湖构建DLF数据探索快速入门-淘宝用户行为分析

网友投稿 266 2022-11-08

数据湖构建DLF数据探索快速入门-淘宝用户行为分析

简介

本教程通过使⽤数据湖构建(DLF)产品对于淘宝⽤户⾏为样例数据的分析,介绍DLF产品的数据发现和数据探索功能。教程内容包括:1. 服务开通:开通阿⾥云账号及DLF/OSS相关服务2. 样例数据集下载和导⼊:下载样例数据(csv⽂件),并上传⾄OSS3. DLF数据发现:使⽤DLF⾃动识别⽂件Schema并创建元数据表4. DLF数据探索:使⽤DLF数据探索,对⽤户⾏为进⾏分析,包括⽤户活跃度、漏⽃模型等

数据说明

本次测试的数据集来⾃阿⾥云天池⽐赛中使⽤的淘宝⽤户⾏为数据集,为了提⾼性能,我们做了⼀定的裁剪。数据集中以csv的格式存储了⽤户⾏为及商品样例数据。数据范围:2014年12⽉1⽇ - 2014年12⽉7⽇数据格式:

开通DLF和OSS服务(如已开通,直接跳转⾄第⼆步)

1.2 开通DLF及其依赖OSS服务,并完成授权。(如果已开通可直接跳过)

在OSS中导⼊需要分析的数据

在DLF上抽取元数据

3.1 创建元数据表DLF中元数据库可以理解为在关系型数据库中的Database,其下⼀级为Table。

⾄此,我们通过DLF⾃动发现数据湖CSV⽂件Schema的过程已经完成。下⼀步我们开始针对数据湖内的数 据做分析。

⽤户⾏为数据分析

预览并检查数据信息。 简单的数据清洗。 进⾏⽤户活跃度、漏⽃模型和商品热度分析。

4.2 预览并检查数据在查询框输⼊下⾯的语句,查看⽂件中的数据信息。

-- 预览数据 select * from `dlf_demo ` . ` user ` limit 10; select * from `dlf_demo ` . `item ` limit 10; -- ⽤户数 17970 select COUNT(DISTINCT user_id) from `dlf_demo ` . ` user ` ; -- 商品数 422858 select COUNT(DISTINCT item_id) from `dlf_demo ` . `item ` ; -- ⾏为记录数 746024 select COUNT(*) from `dlf_demo ` . ` user ` ;

数据内容如下:

-- 数据转换 耗时约40秒-- 创建新表user_log,parquet格式,按⽇期分区 -- 导⼊数据,拆分⽇期和⼩时,并将behavoior转换成可读性更好的值 -- 1-click; 2-collect; 3-cart; 4-pay create table `dlf_demo ` . ` user_log ` USING PARQUET PARTITIONED BY (date) as select user_id, item_id, CASE WHEN behavior_type = 1 THEN 'click' WHEN behavior_type = 2 THEN 'collect' WHEN behavior_type = 3 THEN 'cart' WHEN behavior_type = 4 THEN 'pay' END as behavior, item_category, time, date_format(time, 'yyyy-MM-dd') as date, date_format(time, 'H') as hour, date_format(time, 'u') as day_of_week from `dlf_demo ` . ` user ` ; -- 查看运⾏后的数据 select * from `dlf_demo ` . ` user_log ` limit 10;

-- 漏⽃分析 耗时13秒

SELECT behavior, COUNT(*) AS total FROM `dlf_demo ` . ` user_log ` GROUP BY behavior ORDER BY total DESC

结果如下:

-- ⽤户⾏为分析 耗时 14秒 SELECT date, day_of_week COUNT(DISTINCT(user_id)) as uv, SUM(CASE WHEN behavior = 'click' THEN 1 ELSE 0 END) AS click, SUM(CASE WHEN behavior = 'cart' THEN 1 ELSE 0 END) AS cart, SUM(CASE WHEN behavior = 'collect' THEN 1 ELSE 0 END) AS collect, SUM(CASE WHEN behavior = 'pay' THEN 1 ELSE 0 END) AS pay FROM `dlf_demo ` . ` user_log ` GROUP BY date, day_of_week ORDER BY date

-- 销售最多的品类 耗时 1分10秒 SELECT item.item_category, COUNT(*) AS times FROM `dlf_demo ` . `item ` item JOIN `dlf_demo ` . ` user_log ` log ON item.item_id = log.item_id WHERE log.behavior= 'pay' GROUP BY item.item_category ORDER BY times DESC LIMIT 10;

总结本⽂通过⼀个简单的淘宝⽤户⾏为分析案例,介绍并实践了数据湖构建(DLF)产品的元数据发现和数据 探索功能。

有任何问题,或希望进⼀步探讨数据湖技术,欢迎扫码加⼊数据湖技术群,关注数据湖技术圈。

参考

天池 淘宝⽤户⾏为数据集:SQL ⽇期类型转换:2021年6月24日至7月2日工作日期间 完成该场景,即可领取polo衫一件。先到先得领取地址:https://developer.aliyun.com/adc/series/activity/dlf

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:阿里云中间件首席架构师李小平:企业为什么需要云原生?
下一篇:英特尔成功开发出了Light Peak光接口技术
相关文章

 发表评论

暂时没有评论,来抢沙发吧~