《冬季实战营第五期:轻松入门学习大数据》实践报告

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据环境的基本实现,使用PAI基于协同过滤算法实现商品推荐,通过使用阿里云Elasticsearch快速搭建智能运维系统

上期传送门:
《冬季实战营第一期:从零到一上手玩转云服务器》实践报告
《冬季实战营第二期:Linux操作系统实战入门》实践报告
《冬季实战营第三期:MySQL数据库进阶实战》实践报告
《冬季实战营第四期:零基础容器技术实战》实践报告

DAY1_基于EMR离线数据分析

E-MapReduce(简称“EMR”)是云原生开源大数据平台,向客户提供简单易集成的Hadoop、Hive、Spark、Flink、Presto、Clickhouse、Delta、Hudi等开源大数据计算和存储引擎。EMR计算资源可以根据业务的需要调整。EMR可以部署在阿里云公有云的ECS和ACK、专有云平台。

登陆集群

进入阿里云控制台首页,点击左侧菜单,输入关键词“emr”,点击 E-MapReduce 进入管理页面。

在E-MapReduce控制台页面上方,选择资源所在地域。例如下图中,地域切换为华东2(上海)。

说明:您可以在云产品资源列表中查看到您的E-MapReduce资源所在地域。

在E-MapReduce控制台页面的集群列表区域,单击您的集群名/ID。

说明:您可以在云产品资源列表中查看到您的E-MapReduce集群名/ID。

集群基础信息页面的主机信息区域,复制MASTER的节点的公网ip地址。

打开远程桌面终端LxShell

在终端中输入连接命令ssh root@[ipaddress]。您需要将[ipaddress]替换成第3步中复制公网地址

例:ssh root@139.xxx.xxx.230

同意继续后将会提示输入登录密码。密码为 @Aliyun2021 (你可以使用粘贴快捷键SHIFT+CTRL+V)

上传数据到HDFS

创建HDFS目录 hdfs dfs -mkdir -p /data/student2

上传文件到hadoop文件系统。

a.执行如下命令,创建u.txt文件

创建u.txt文件

vim u.txt

b.按 "i" 键进入编辑模式,通过粘贴快捷键(SHIFT+CTRL+V)将下方内容复制到文件中,按"Esc"返回命令模式,输入":wq"保存

说明:第一列表示userid,第二列表示movieid,第三列表示rating,第四列表示unixtime。

196 242 3 881250949
186 302 3 891717742
22 377 1 878887116
244 51 2 880606923
166 346 1 886397596
298 474 4 884182806
115 265 2 881171488
253 465 5 891628467
305 451 3 886324817
6 86 3 883603013
62 257 2 879372434
286 1014 5 879781125
200 222 5 876042340
210 40 3 891035994
224 29 3 888104457
303 785 3 879485318
122 387 5 879270459
194 274 2 879539794
291 1042 4 874834944
234 1184 2 892079237
119 392 4 886176814
167 486 4 892738452
299 144 4 877881320
291 118 2 874833878
308 1 4 887736532
95 546 2 879196566
38 95 5 892430094
102 768 2 883748450
63 277 4 875747401
160 234 5 876861185
50 246 3 877052329
301 98 4 882075827
225 193 4 879539727
290 88 4 880731963
97 194 3 884238860
157 274 4 886890835
181 1081 1 878962623
278 603 5 891295330
276 796 1 874791932
7 32 4 891350932
10 16 4 877888877
284 304 4 885329322
201 979 2 884114233
276 564 3 874791805
287 327 5 875333916
246 201 5 884921594
242 1137 5 879741196
249 241 5 879641194
99 4 5 886519097
178 332 3 882823437
251 100 4 886271884
81 432 2 876535131
260 322 4 890618898
25 181 5 885853415
59 196 5 888205088
72 679 2 880037164
87 384 4 879877127
290 143 5 880474293
42 423 5 881107687
292 515 4 881103977
115 20 3 881171009
20 288 1 879667584
201 219 4 884112673
13 526 3 882141053
246 919 4 884920949
138 26 5 879024232
167 232 1 892738341
60 427 5 883326620
57 304 5 883698581
223 274 4 891550094
189 512 4 893277702
243 15 3 879987440
92 1049 1 890251826
246 416 3 884923047
194 165 4 879546723
241 690 2 887249482
178 248 4 882823954
254 1444 3 886475558
293 5 3 888906576
127 229 5 884364867
225 237 5 879539643
299 229 3 878192429
225 480 5 879540748
276 54 3 874791025
291 144 5 874835091
222 366 4 878183381
267 518 5 878971773
42 403 3 881108684
11 111 4 891903862
95 625 4 888954412
8 338 4 879361873
162 25 4 877635573
87 1016 4 879876194
279 154 5 875296291
145 275 2 885557505
119 1153 5 874781198
62 498 4 879373848
62 382 3 879375537
28 209 4 881961214
135 23 4 879857765
32 294 3 883709863
90 382 5 891383835
286 208 4 877531942
293 685 3 888905170
216 144 4 880234639
166 328 5 886397722

上传文件u.txt到hadoop文件系统。
hdfs dfs -put u.txt /data/student

查看文件 hdfs dfs -ls /data/student

使用hive创建表

本步骤将指导您如何使用hive创建数据表,并使用hadoop文件系统中的数据加载到hive数据表中。

登录hive数据库 hive

创建user表 CREATE TABLE emrusers (
userid INT,
movieid INT,
rating INT,
unixtime STRING )
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
;

从hadoop文件系统加载数据到hive数据表。 LOAD DATA INPATH '/data/student/u.txt' INTO TABLE emrusers;

对表进行操作

本步骤将指导您如何使用hive对数据表进行查询等操作。

查看5行表数据 select * from emrusers limit 5;

查询数据表中有多少条数据 select count(*) from emrusers;

查询数据表中评级最高的三个电影。select movieid,sum(rating) as rat from emrusers group by movieid order by rat desc limit 3;

DAY1 收获:如何登录EMR集群。
如何上传数据到HDFS。
如何使用hive创建表,并从hadoop文件系统加载数据。

DAY2_使用阿里云Elasticsearch快速搭建智能运维系统

通过创建登录阿里云Elasticsearch集群,使用Beats采集器收集ECS上的系统数据和Nginx服务数据,配置基础的指标分析看板,简单展示数据采集、分析的过程和操作方式。

登录集群

登录Kibana,开启自动创建索引功能

在右侧概览页面Elasticsearch区域中,单击集群管理。
在Elasticsearch实例列表中,单击实例ID。
在左侧导航栏,选择配置与管理 > 可视化控制。
在Kibana区域中,单击修改配置。
开启Kibana私网访问,此变更过程需等待3-5分钟。
返回上级页面,在Kibana区域中,单击公网入口。
复制左侧云产品资源列表下的Elasticsearch登录名和Elasticsearch登录密码,至Kibana登录页面的账号和密码,单击登录。
在登录成功页面,单击Explore on my own。

在左侧导航栏,单击Dev Tools(开发工具),再单击Go to work。
在Console页签下,执行如下命令,开启阿里云ES实例的自动创建索引功能。

PUT _cluster/settings
{
"persistent": {
"action.auto_create_index": "true"
}
}

开通成功后,结果如下

{
"acknowledged" : true,
"persistent" : {

"action" : {
  "auto_create_index" : "true"
}

},
"transient" : { }
}

使用Metricbeat采集ECS上的系统数据

返回阿里云Elasticsearch管理控制台,单击Beats数据采集 > 创建采集器。

在创建采集器窗口中,单击Metricbeat。

在系统弹出的确定服务授权对话框,单击确认,授权创建服务关联角色。

在采集器配置向导中,输入或选择采集器信息,复制左侧云产品资源列表下的Elasticsearch登录名和Elasticsearch登录密码,至用户名密码。

在metricbeat.yml中末尾添加如下脚本,单击下一步。

metricbeat.modules:

  • module: system
    metricsets:

    • cpu
    • load
    • memory
    • network
    • process
    • process_summary
    • uptime
    • socket_summary
    • core
    • diskio
    • filesystem
    • fsstat

    enabled: true
    period: 10s
    processes: ['.*']
    cpu.metrics: ["percentages"]
    core.metrics: ["percentages"]

选择采集器安装的ECS实例。

启动采集器并查看采集器安装情况,此生效过程需等待3~5分钟。
单击启动。启动成功后,系统弹出启动成功对话框。
单击前往采集中心查看,在采集器管理区域中,查看启动成功的Metricbeat采集器,等待采集器状态变为已生效1/1。
返回Kibana页面,在左侧导航栏,单击Dev Tools(开发工具)。
在Console页签下,执行如下命令,查看索引。

GET _cat/indices?v

在左侧导航栏,单击Dashboard,搜索[Metricbeat System] Overview。

单击进入[Metricbeat System] Overview页面,再单击Host Overview,可查看监控仪表板。

使用Filebeat采集ECS上的Nginx服务数

返回阿里云Elasticsearch管理控制台 > Beats数据采集中心。
在创建采集器区域,将鼠标移至Filebeat上,单击ECS日志。

在采集器配置向导中,输入或选择采集器信息。完成后,单击下一步。
在填写Filebeat文件目录处,填写如下路径:

/var/log/nginx/

在filebeat.yml中更改如下脚本。
在第24行enabled更改为true。

在第28行更改paths:

  • /var/log/nginx/*.log

单击下一步,选择采集器安装的ECS实例

启动采集器并查看采集器安装情况,此生效过程需等待3~5分钟。
单击启动。启动成功后,系统弹出启动成功对话框。
单击前往采集中心查看,在采集器管理区域中,查看启动成功的Filebeat采集器,等待采集器状态变为已生效1/1。
返回Kibana页面,在左侧导航栏,单击Dev Tools(开发工具)。
在Console页签下,执行如下命令,查看索引。

GET _cat/indices?v

在左侧导航栏,单击Discover,点击选择filebeat,可查看采集的数据详情。

如出现数据无法展示,可在右上角选择“Last 24 hours ” 即可查看采集的数据详情。

DAY2 收获:了解阿里云Elasticsearch集群创建登录的基础操作
学会采集系统数据和Nginx服务数据
学会配置指标分析看板,体验数据分析和运维的过程

DAY3_推荐系统入门之使用协同过滤实现商品推荐

本场将介绍如何使用PAI基于协同过滤算法实现商品推荐。

开通机器学习PAI服务

创建PAIStudio项目

在控制台左侧导航栏,单击可视化建模(Studio)

在PAI Studio页面单击创建项目。

在右侧弹出的创建项目页面,MaxCompute选择按量付费,填入项目名称,然后单击确定。

PAI Studio底层计算依赖MaxCompute,如果您未开通过当前区域的MaxCompute,请按照页面提示去购买。

a. 单击购买。

b. 选择步骤一开通的机器学习PAI服务所在区域,例如华东2(上海),然后单击立即购买。

c. 仔细阅读《大数据计算服务MaxCompute(按量计算)服务协议》后,勾选我已阅读并同意,最后单击立即开通。

d. 开通成功后返回PAI Studio控制台页面,再次单击创建项目,在创建项目页面选择MaxCompute付费方式为按量付费,然后填入项目名称,最后单击确认。

项目创建需要1分钟左右进行初始化,等待项目操作列出现进入机器学习,表示项目创建完成。

创建资源

单击左侧导航栏的首页。

在模板列表找到【推荐算法】商品推荐,然后单击从模板创建。

在弹出的新建实验框,单击确定。

查看实验数据

右键单击cf_训练_data节点,然后单击查看数据。

源数据的字段解释如下:
image.png

可以看到训练数据为7月份以前的用户购买行为数据。

右键单击cf_结果_data,然后单击查看数据

image.png

可以看到结果数据为7月份以后的用户购买行为数据

运行实验

单击左上角运行。image.png

请耐心等到3~5分钟,实验运行完成如下所示。

image.png

查看实验结果

右键单击join-1节点,然后单击查看数据。

image.png

表中similar_item字段为经过协同过滤算法计算得出的该用户购买可能性最大的商品。

单击全表统计-1节点,然后单击查看数据。

image.png

表1统计了根据协同过滤算法推荐的商品数量,共有18065个商品可推荐。

单击全表统计-2节点,然后单击查看数据。

image.png

表2统计了7月份真实购买行为数据中与经过协同过滤算法所推荐的商品的命中数量,可以看到有60个推荐的商品被购买。

数据挖掘的一个经典案例就是尿布与啤酒的例子。尿布与啤酒看似毫不相关的两种产品,但是当超市将两种产品放到相邻货架销售的时候,会大大提高两者销量。很多时候看似不相关的两种产品,却会存在这某种神秘的隐含关系,获取这种关系将会对提高销售额起到推动作用,然而有时这种关联是很难通过经验分析得到的。这时候我们需要借助数据挖掘中的常见算法-协同过滤来实现。这种算法可以帮助我们挖掘人与人以及商品与商品的关联关系。

协同过滤算法是一种基于关联规则的算法。以购物行为为例,如果用户甲和用户乙都购买了商品A和商品B,则可以假定用户甲和用户乙的购物品味相似。当用户甲购买了商品C,而用户乙未购买时,可以将商品C推荐给用户乙,这就是经典的User-Based,即以User的特性为关联。

DAY4_实操直播-利用湖仓一体架构快速搭建企业数据中台

image.png

image.png

image.png

--来自阿里云直播

DAY5_实操直播-基于Elasticsearch+Fink的日志全观测最佳实践

结合直播进行实操

到此第五期冬季实战营圆满结束
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
分布式计算 大数据 Java
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
51 5
|
2月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
50 3
|
2月前
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
63 0
|
2月前
|
数据采集 数据可视化 大数据
大数据体系知识学习(三):数据清洗_箱线图的概念以及代码实现
这篇文章介绍了如何使用Python中的matplotlib和numpy库来创建箱线图,以检测和处理数据集中的异常值。
48 1
大数据体系知识学习(三):数据清洗_箱线图的概念以及代码实现
|
26天前
|
边缘计算 人工智能 搜索推荐
大数据与零售业:精准营销的实践
【10月更文挑战第31天】在信息化社会,大数据技术正成为推动零售业革新的重要驱动力。本文探讨了大数据在零售业中的应用,包括客户细分、个性化推荐、动态定价、营销自动化、预测性分析、忠诚度管理和社交网络洞察等方面,通过实际案例展示了大数据如何帮助商家洞悉消费者行为,优化决策,实现精准营销。同时,文章也讨论了大数据面临的挑战和未来展望。
|
2月前
|
存储 SQL 分布式计算
大数据学习
【10月更文挑战第15天】
43 1
|
2月前
|
分布式计算 大数据 Linux
大数据体系知识学习(二):WordCount案例实现及错误总结
这篇文章介绍了如何使用PySpark进行WordCount操作,包括环境配置、代码实现、运行结果和遇到的错误。作者在运行过程中遇到了Py4JJavaError和JAVA_HOME未设置的问题,并通过导入findspark初始化和设置环境变量解决了这些问题。文章还讨论了groupByKey和reduceByKey的区别。
31 1
|
2月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
61 1
|
2月前
|
消息中间件 NoSQL 大数据
大数据-77 Kafka 高级特性-稳定性-延时队列、重试队列 概念学习 JavaAPI实现(一)
大数据-77 Kafka 高级特性-稳定性-延时队列、重试队列 概念学习 JavaAPI实现(一)
37 1
|
2月前
|
SQL 消息中间件 分布式计算
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
大数据-143 - ClickHouse 集群 SQL 超详细实践记录!(一)
80 0