一、基于EMR离线数据分析
1. 登录EMR集群终端
阿里云控制台点击 E-MapReduce 进入管理页面。
集群基础信息找到MASTER节点的公网ip
使用ssh连接集群
2. 上传数据到HDFS
创建HDFS目录。
hdfs dfs -mkdir -p /data/student
创建u.txt文件
vim u.txt #第一列表示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
3.使用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;
4. 对表进行操作
查看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;
二、使用阿里云Elasticsearch快速搭建智能运维系统
1.登录Kibana,开启自动创建索引
在右侧概览页面Elasticsearch区域中,单击集群管理。在Elasticsearch实例列表中,单击实例ID。左侧导航栏,选择配置与管理 > 可视化控制。在Kibana区域中,单击修改配置。开启Kibana私网访问,返回上级页面,在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" : { } }
2. 使用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,可查看监控仪表板。
3. 使用Filebeat采集ECS上的Nginx服务数据
阿里云Elasticsearch管理控制台 > Beats数据采集中心。在创建采集器区域,单击ECS日志
在采集器配置向导中,输入或选择采集器信息。在填写Filebeat文件目录处,填写如下路径:
/var/log/nginx/
在filebeat.yml中更改如下脚本:
在第24行enabled更改为true 在第28行更改paths - /var/log/nginx/*.log
下一步,选择采集器安装的ECS实例。
启动采集器并查看采集器安装情况,单击启动。启动成功后,系统弹出启动成功对话框。单击前往采集中心查看,在采集器管理区域中,查看启动成功的Filebeat采集器,等待采集器状态变为已生效1/1。返回Kibana页面,在左侧导航栏,单击Dev Tools(开发工具)。在Console页签下,执行如下命令,查看索引。
GET _cat/indices?v
左侧导航栏,Discover选择filebeat,可查看采集的数据详情。
三、推荐系统入门之使用协同过滤实现商品推荐
1.开通机器学习PAI服务
机器学习平台PAI。
在机器学习PAI控制台首页,单击立即开通。
在服务开通页面,选择要开通的机器学习PAI服务所在的区域。
确认开通。
2.创建PAI Studio项目
单击可视化建模(Studio)。
在PAI Studio页面单击创建项目。
创建项目页面,MaxCompute选择按量付费,填入项目名称。
开通的机器学习PAI服务所在区域。
勾选我已阅读并同意,立即开通。
开通成功后返回PAI Studio控制台页面,再次单击创建项目,在创建项目页面选择MaxCompute付费方式为按量付费,然后填入项目名称,最后单击确认。
等待项目操作列出现进入机器学习,表示项目创建完成。
创建实验
左侧导航栏的首页。
在模板列表找到【推荐算法】商品推荐,然后单击从模板创建。
新建实验框,单击确定。
查看实验数据
右键单击cf_训练_data节点,然后单击查看数据。
源数据的字段解释如下:
字段名 |
含义 |
类型 |
描述 |
user_id |
用户编号 |
STRING |
购物的用户ID。 |
item_id |
物品编号 |
STRING |
被购买物品的编号。 |
active_type |
购物行为 |
STRING |
|
active_date |
购物时间 |
STRING |
购物发生的时间。 |
可以看到训练数据为7月份以前的用户购买行为数据。
右键单击cf_结果_data,然后单击查看数据。
可以看到结果数据为7月份以后的用户购买行为数据。
运行实验
左上角运行。
实验运行完成
查看实验结果
右键单击join-1节点,然后单击查看数据。
表中similar_item字段为经过协同过滤算法计算得出的该用户购买可能性最大的商品。
单击全表统计-1节点,然后单击查看数据。
表1统计了根据协同过滤算法推荐的商品数量,共有18065个商品可推荐。
单击全表统计-2节点,然后单击查看数据。
表2统计了7月份真实购买行为数据中与经过协同过滤算法所推荐的商品的命中数量,可以看到有60个推荐的商品被购买。