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

基于EMR离线数据分析

登陆集群

打开阿里云E-MapReduce控制台,在E-MapReduce控制台页面的集群列表区域,单击集群名/ID。然后在集群的主机信息栏中,复制MASTER的节点的公网ip地址,打开终端连接集群,命令ssh root@公网Ip地址。例如:ssh root@47.100.49.44。提示输入 yes然后输入登录密码,默认密码为@Aliyun2021

上传数据到HDFS

创建HDFS目录:hdfs dfs -mkdir -p /data/student
上传文件到hadoop文件系统:
创建u.txt文件(vim u.txt),然后写入以下数据(第一列表示userid,第二列表示movieid,第三列表示rating,第四列表示unixtime),最后上传文件u.txt到hadoop文件系统(hdfs dfs -put u.txt /data/student):以下数据没有问题,请放心复制使用

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

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

使用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;

对表进行操作

查看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;
仅删除表数据:truncate table emrusers;

数据表无数据

如果你在进行对表操作时,查询不到数据,如下图,那么是你的第二步上传数据到HDFS时的数据有些许问题。阿里云手册的数据有些许的问题,如果你是直接复制的那么数据结构有问题,需要手动调整数据中分隔为Table,或者在创建hive表时使用两个空格切分数据。第二步我的数据已经做了手动调整,可以放心复制使用。先清空表数据(truncate table emrusers;),重复第二、三步操作即可,创建目录、创建表操作除外。
数据表无数据
重新导入数据

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

使用Beats采集器收集集群上的系统数据和Nginx日志数据,配置基础的指标分析看板,简单展示数据采集、分析的过程和操作方式

登录Kibana

登录阿里云Elasticsearch控制台(https://elasticsearch-cn-hangzhou.console.aliyun.com),本次实验使用的Elasticsearh6.8。
在Elasticsearch栏,点击集群管理>实例ID>配置与管理>可视化控制,然后在Kibana栏中点击修改配置,再开启Kibana私网访问。返回上级页面,在Kibana栏,点击公网入口,复制云产品资源的Elasticsearch登录名和登录密码,到Kibana登录页面的账号、密码,最后登录。在登录成功页面,单击Explore on my own

开启自动创建索引功能

点击Kibana左侧导航栏中的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采集集群上的系统数据

返回Elasticsearch管理控制台,单击Beats数据采集>创建采集器>Metricbeat>确定服务。在采集器配置中,输入采集器信息,复制云产品资源的Elasticsearch登录名和登录密码,至用户名密码,采集器名称输入system_metric,启动MonitoringKibana Dashboard,然后在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(开发工具),执行如下命令,查看索引。
GET _cat/indices?v
单击打开Dashboard,搜索[Metricbeat System] Overview,点击进入[Metricbeat System] Overview页面,点击Host Overview,即可查看监控仪表板。

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

打开Elasticsearch管理控制台,在Beats数据采集中心,将鼠标移至Filebeat上,点击ECS日志,在采集器配置中输入采集器信息,采集器名称输入filebeat_nginx,版本选择6.8.5,采集器选择使用的机器,用户名密码还是输入Elasticsearch登录名和登录密码,启动MonitoringKibana Dashboard,填写Filebeat文件目录为/var/log/nginx/
最后需要在filebeat.yml中更改如下脚本,在第24行enabled更改为true,在第28行更改为- /var/log/nginx/*.log。最后下一步,选择采集器安装的机器,点击启动,前往采集中心查看,在采集器管理区域中,查看启动成功的Filebeat采集器,等待采集器状态变为已生效1/1
返回Kibana,打开Dev Tools(开发工具),执行如下命令,查看索引。
GET _cat/indices?v
然后单击Discover,点击选择filebeat,即可查看采集的数据详情。

使用协同过滤实现商品推荐

开通机器学习PAI服务

打开阿里云机器学习平台PAI控制台(https://pai.console.aliyun.com),点击免费开通并创建默认工作空间,然后确认开通并创建默认工作空间。然后会自动跳转到PAI管理控制台。

创建PAI Studio项目

打开模型开发和训练栏中的可视化建模(Studio),在PAI Studio页面点击进入机器学习,如果没有项目可以单击创建项目,MaxCompute选择按量付费,项目名称可输入mytestproj1,然后点击确认。

创建实验

在机器学习界面左侧点击首页,找到【推荐算法】商品推荐,点击从模板创建,点击确定即可创建。

查看实验数据

创建完成后会自动打开实验界面,右键点击cf_训练_data节点,然后点击查看数据,可以看到训练数据为7月份以前的用户购买行为数据。源数据的字段解释如下:

字段名含义类型描述
user_id用户编号STRING购物的用户ID
item_id物品编号STRING被购买物品的编号
active_type购物行为STRING0:表示点击;1:表示购买;2:表示收藏;3:表示加入购物车
active_date购物时间STRING购物发生的时间

右键点击cf_结果_data节点,然后点击查看数据,可以看到结果数据为7月份以后的用户购买行为数据。

运行实验

在实验的左上角点击运行,等到几分钟之后,所有节点全都显示为绿色的对号时,实验运行完成。
实验运行完成

查看实验结果

右键点击join-1节点,然后点击查看数据,表中similar_item字段为经过协同过滤算法计算得出的该用户购买可能性最大的商品。
查看数据
右键点击全表统计-1节点,然后点击查看数据,统计了根据协同过滤算法推荐的商品数量,共有18065个商品可推荐。
查看数据
右键点击全表统计-2节点,然后点击查看数据,统计了7月份真实购买行为数据中与经过协同过滤算法所推荐的商品的命中数量,可以看到有60个推荐的商品被购买。
查看数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值