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

基于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​,启动​​Monitoring​和​Kibana 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

购物行为

STRING

0:表示点击

1:表示购买

2:表示收藏

3:表示加入购物车

active_date

购物时间

STRING

购物发生的时间

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

运行实验

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

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

查看实验结果

右键​join-1节点,然后查看数据表中​​similar_item​字段为经过协同过滤算法计算得出的该用户购买可能性最大的商品

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

右键​全表统计-1节点,然后击查看数据统计了根据协同过滤算法推荐的商品数量,共有18065个商品可推荐。

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

右键​全表统计-2节点,然后击查看数据统计了7月份真实购买行为数据中与经过协同过滤算法所推荐的商品的命中数量,可以看到有60个推荐的商品被购买。

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

上一篇:冬季实战营第五期:轻松入门学习大数据


下一篇:点击化学DBCO二苯并环辛炔连接多肽中的氨基/巯基/羧基反应性化合物