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

本文涉及的产品
云服务器 ECS,u1 4核16GB 1个月
云服务器 ECS,u1 2核4GB 3个月
云服务器 ECS,u1 4核8GB 1个月
简介: 大数据环境的基本实现,使用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的日志全观测最佳实践

结合直播进行实操

到此第五期冬季实战营圆满结束
相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
25天前
|
存储 分布式计算 Hadoop
大数据之hadoop3入门到精通(一)
大数据之hadoop3入门到精通(一)
|
2月前
|
存储 大数据 API
大数据隐私保护策略:加密、脱敏与访问控制实践
【4月更文挑战第9天】本文探讨了大数据隐私保护的三大策略:数据加密、数据脱敏和访问控制。数据加密通过加密技术保护静态和传输中的数据,密钥管理确保密钥安全;数据脱敏通过替换、遮蔽和泛化方法降低敏感信息的敏感度;访问控制则通过用户身份验证和权限设置限制数据访问。示例代码展示了数据库、文件系统和API访问控制的实施方式,强调了在实际应用中需结合业务场景和平台特性定制部署。
384 0
|
16天前
|
数据采集 数据可视化 大数据
Python在大数据处理中的应用实践
Python在大数据处理中扮演重要角色,借助`requests`和`BeautifulSoup`抓取数据,`pandas`进行清洗预处理,面对大规模数据时,`Dask`提供分布式处理能力,而`matplotlib`和`seaborn`则助力数据可视化。通过这些工具,数据工程师和科学家能高效地管理、分析和展示海量数据。
47 4
|
26天前
|
分布式计算 大数据 数据处理
Python入门与大数据处理环境配置指南
**Python入门与大数据处理环境配置** Python作为高级编程语言,因其简洁语法和丰富库资源,成为数据处理、AI和大数据分析首选。本文旨在介绍Python基础和环境配置,特别是针对大数据处理的环境搭建。首先,讲解Python语言基础,包括语言概述、基本语法(变量、数据类型、控制流语句、函数和模块)。接着,讨论如何安装Python环境,以及安装NumPy、Pandas等大数据处理库。对于大数据处理,可以选择本地环境或搭建分布式环境,如Hadoop和Spark,并提供相关API示例。最后,列出环境配置中可能遇到的问题及解决方案,如版本不兼容、库安装失败等,并提供参考资料以供深入学习。
40 3
|
25天前
|
存储 分布式计算 安全
大数据之hadoop3入门到精通(三)
大数据之hadoop3入门到精通(三)
|
25天前
|
SQL 资源调度 大数据
大数据之hadoop3入门到精通(二)
大数据之hadoop3入门到精通(二)
|
1月前
|
存储 大数据 分布式数据库
使用Apache HBase进行大数据存储:技术解析与实践
【6月更文挑战第7天】Apache HBase,一个基于HDFS的列式存储NoSQL数据库,提供高可靠、高性能的大数据存储。其特点是列式存储、可扩展至PB级数据、低延迟读写及多版本控制。适用场景包括大规模数据存储、实时分析、日志存储和推荐系统。实践包括集群环境搭建、数据模型设计、导入、查询及性能优化。HBase在大数据存储领域扮演关键角色,未来有望在更多领域发挥作用。
|
1月前
|
分布式计算 Spark 大数据
深入探究Apache Spark在大数据处理中的实践应用
【6月更文挑战第2天】Apache Spark是流行的开源大数据处理框架,以其内存计算速度和低延迟脱颖而出。本文涵盖Spark概述、核心组件(包括Spark Core、SQL、Streaming和MLlib)及其在数据预处理、批处理分析、交互式查询、实时处理和机器学习中的应用。通过理解Spark内部机制和实践应用,可提升大数据处理效率,发挥其在各行业的潜力。
|
25天前
|
分布式计算 自然语言处理 大数据
【大数据】MapReduce JAVA API编程实践及适用场景介绍
【大数据】MapReduce JAVA API编程实践及适用场景介绍
34 0
|
2月前
|
数据采集 供应链 安全
利用大数据优化业务流程:策略与实践
【5月更文挑战第11天】本文探讨了利用大数据优化业务流程的策略与实践,包括明确业务目标、构建大数据平台、数据采集整合、分析挖掘及流程优化。通过实例展示了电商和制造企业如何利用大数据改进库存管理和生产流程,提高效率与客户满意度。随着大数据技术进步,其在业务流程优化中的应用将更加广泛和深入,企业需积极采纳以适应市场和客户需求。