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

简介: 第五期主要进行了5次实验,分别是:《基于EMR离线数据分析》、《使用阿里云Elasticsearch快速搭建智能运维系统》、《推荐系统入门之使用协同过滤实现商品推荐》、《利用湖仓一体架构快速搭建企业数据中台》、《基于Elasticsearch+Fink的日志全观测最佳实践》。

一、导语

第五期主要进行了5次实验,分别是:《基于EMR离线数据分析》、《使用阿里云Elasticsearch快速搭建智能运维系统》、《推荐系统入门之使用协同过滤实现商品推荐》、《利用湖仓一体架构快速搭建企业数据中台》、《基于Elasticsearch+Fink的日志全观测最佳实践》。

二、基于EMR离线数据分析

2.1登陆集群

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

image.png

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

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

image.png

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

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

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


5. 打开远程桌面终端LxShell


6. 在终端中输入连接命令ssh root@[ipaddress]。需要将[ipaddress]替换成公网地址,例如:

ssh root@139.xxx.xxx.230

命令显示结果如下:


7.同意继续后将会提示输入登录密码。密码为 @Aliyun2021

说明:输入密码的过程中没有回显,请确保键入内容正确。



2.2 上传数据到HDFS

1. 执行如下命令,创建HDFS目录。

说明:在LX终端中,粘贴快捷键为SHIFT+CTRL+V。

hdfs dfs -mkdir -p /data/student

2. 上传文件到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

c. 上传文件u.txt到hadoop文件系统。

hdfs dfs -put u.txt /data/student

3. 查看文件。

hdfs dfs -ls /data/student

2.3 使用hive创建表

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

1. 执行如下命令,登录hive数据库。

hive

2. 创建user表。

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

3. 执行如下命令,从hadoop文件系统加载数据到hive数据表。

LOAD DATA INPATH '/data/student/u.txt' INTO

2.4 对表进行操作

1. 查看5行表数据。

select * from emrusers limit 5;

2. 查询数据表中有多少条数据。

select count(*) from emrusers;

3. 查询数据表中评级最高的三个电影。

select movieid,sum(rating) as rat from emrusers group by movieid order by rat desc limit 3;

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

3.1登录集群

1.复制如下阿里云Elasticsearch控制台地址至浏览器地址栏,登录Elasticsearch控制台本实验资源区域限定为华东1(杭州)

https://elasticsearch-cn-hangzhou.console.aliyun.com

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

  1. 在右侧概览页面Elasticsearch区域中,单击集群管理。
  2. 在Elasticsearch实例列表中,单击实例ID
  3. 在左侧导航栏,选择配置与管理 > 可视化控制
  4. 在Kibana区域中,单击修改配置
  5. 开启Kibana私网访问,此变更过程需等待3-5分钟。
  6. 返回上级页面,在Kibana区域中,单击公网入口
  7. 复制左侧云产品资源列表下的Elasticsearch登录名Elasticsearch登录密码,至Kibana登录页面的账号和密码,单击登录
  8. 在登录成功页面,单击Explore on my own
  9. 在左侧导航栏,单击Dev Tools(开发工具),再单击Go to work
  10. 在Console页签下,执行如下命令,开启阿里云ES实例的自动创建索引功能。

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

开启结果如下:

{   "acknowledged" : true,   "persistent" : {     "action" : {       "auto_create_index" : "true"     }   },   "transient" : { } }


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

  1. 返回阿里云Elasticsearch管理控制台,单击Beats数据采集 > 创建采集器。
  2. 在创建采集器窗口中,单击Metricbeat
  3. 在系统弹出的确定服务授权对话框,单击确认,授权创建服务关联角色。
  4. 在采集器配置向导中,输入或选择采集器信息,复制左侧云产品资源列表下的Elasticsearch登录名Elasticsearch登录密码,至用户名密码。
  5. 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"]

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

7.启动采集器并查看采集器安装情况,此生效过程需等待3~5分钟。

  1. 单击启动。启动成功后,系统弹出启动成功对话框。
  2. 单击前往采集中心查看,在采集器管理区域中,查看启动成功的Metricbeat采集器,等待采集器状态变为已生效1/1。

8.返回Kibana页面,在左侧导航栏,单击Dev Tools(开发工具)

9.在Console页签下,执行如下命令,查看索引。

GET _cat/indices?v

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

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

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

  1. 返回阿里云Elasticsearch管理控制台 > Beats数据采集中心
  2. 在创建采集器区域,将鼠标移至Filebeat上,单击ECS日志
  3. 在采集器配置向导中,输入或选择采集器信息。完成后,单击下一步

填写Filebeat文件目录处,填写如下路径:

/var/log/nginx/

4.在filebeat.yml中更改如下脚本。

在第24行enabled更改为true。

在第28行更改paths:

- /var/log/nginx/*.log

之后选择采集器安装的ECS实例:

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

GET _cat/indices?v


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

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

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

4.1开通机器学习PAI服务

1.  使用您的阿里云账号登录阿里云官网

2.  在顶部的导航栏,依次将鼠标悬停到产品>人工智能处,然后单击机器学习平台PAI。

3.  在机器学习PAI控制台首页,单击立即开通。

4.在服务开通页面,选择要开通的机器学习PAI服务所在的区域,例如华东2(上海),然后单击页面下方的立即购买

5.  在订单确认页面,仔细阅读《机器学习(PAI)服务协议》后,勾选我已阅读并同意,最后单击立即开通

6.  开通成功后,单击前往PAI管理控制台

4.2创建PAI Studio项目

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

2.  在PAI Studio页面单击创建项目

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

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

a.  单击购买

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

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

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

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

4.3创建实验

1.  单击左侧导航栏的首页

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

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

4.4查看实验数据

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

源数据的字段解释如下:

字段名

含义

类型

描述

user_id

用户编号

STRING

购物的用户ID。

item_id

物品编号

STRING

被购买物品的编号。

active_type

购物行为

STRING

  • 0:表示点击。
  • 1:表示购买。
  • 2:表示收藏。
  • 3:表示加入购物车。

active_date

购物时间

STRING

购物发生的时间。

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

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

4.5运行实验

1.  单击左上角运行。

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

image.png

4.6查看实验结果

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

image.png

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

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

image.png

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

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

image.png

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


相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
5月前
|
数据采集 分布式计算 大数据
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
149 1
|
4月前
|
SQL 分布式计算 大数据
SparkSQL 入门指南:小白也能懂的大数据 SQL 处理神器
在大数据处理的领域,SparkSQL 是一种非常强大的工具,它可以让开发人员以 SQL 的方式处理和查询大规模数据集。SparkSQL 集成了 SQL 查询引擎和 Spark 的分布式计算引擎,使得我们可以在分布式环境下执行 SQL 查询,并能利用 Spark 的强大计算能力进行数据分析。
|
6月前
|
数据采集 搜索推荐 算法
Java 大视界 -- Java 大数据在智能教育学习社区用户互动分析与社区活跃度提升中的应用(274)
本文系统阐述 Java 大数据技术在智能教育学习社区中的深度应用,涵盖数据采集架构、核心分析算法、活跃度提升策略及前沿技术探索,为教育数字化转型提供完整技术解决方案。
|
8月前
|
数据采集 数据可视化 大数据
Python入门修炼:开启你在大数据世界的第一个脚本
Python入门修炼:开启你在大数据世界的第一个脚本
180 6
|
数据采集 数据可视化 大数据
大数据体系知识学习(三):数据清洗_箱线图的概念以及代码实现
这篇文章介绍了如何使用Python中的matplotlib和numpy库来创建箱线图,以检测和处理数据集中的异常值。
361 1
大数据体系知识学习(三):数据清洗_箱线图的概念以及代码实现
|
存储 SQL 分布式计算
大数据学习
【10月更文挑战第15天】
329 1
|
分布式计算 大数据 Linux
大数据体系知识学习(二):WordCount案例实现及错误总结
这篇文章介绍了如何使用PySpark进行WordCount操作,包括环境配置、代码实现、运行结果和遇到的错误。作者在运行过程中遇到了Py4JJavaError和JAVA_HOME未设置的问题,并通过导入findspark初始化和设置环境变量解决了这些问题。文章还讨论了groupByKey和reduceByKey的区别。
236 1
|
3月前
|
机器学习/深度学习 传感器 分布式计算
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
304 14
|
5月前
|
数据采集 分布式计算 DataWorks
ODPS在某公共数据项目上的实践
本项目基于公共数据定义及ODPS与DataWorks技术,构建一体化智能化数据平台,涵盖数据目录、归集、治理、共享与开放六大目标。通过十大子系统实现全流程管理,强化数据安全与流通,提升业务效率与决策能力,助力数字化改革。
209 4
|
4月前
|
机器学习/深度学习 运维 监控
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
181 0

热门文章

最新文章