【云起实验室】入门学习大数据

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 基于HDFS,Elasticsearch&Kibana,以及阿里机器学习PAI

一、基于EMR离线数据分析

1. 登录EMR集群终端

阿里云控制台点击 E-MapReduce 进入管理页面。

image.png

集群基础信息找到MASTER节点的公网ip

image.png

使用ssh连接集群

image.png

 

 

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

 

image.png

 

 

 

3.使用hive创建表

登录hive数据库。

hive
创建user表。
CREATE TABLE emrusers (
   userid INT,
   movieid INT,
   rating INT,
   unixtime STRING ) 
  ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY '\t' 
  ;

 

image.png

从hadoop文件系统加载数据到hive数据表。

LOAD DATA INPATH '/data/student/u.txt' INTO TABLE emrusers;


4. 对表进行操作

查看5行表数据。

select * from emrusers limit 5;

 

image.png

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

select count(*) from emrusers;

image.png

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

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

image.png

 

 

 

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

 

1.登录Kibana,开启自动创建索引

在右侧概览页面Elasticsearch区域中,单击集群管理。在Elasticsearch实例列表中,单击实例ID。左侧导航栏,选择配置与管理 > 可视化控制。在Kibana区域中,单击修改配置。开启Kibana私网访问,返回上级页面,在Kibana区域中,单击公网入口。复制左侧云产品资源列表下的Elasticsearch登录名Elasticsearch登录密码,至Kibana登录页面的账号和密码,单击登录。在登录成功页面,单击Explore on my own

image.png

 

在左侧导航栏,单击Dev Tools(开发工具),再单击Go to work

在Console页签下,执行如下命令,开启阿里云ES实例的自动创建索引功能。

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

image.png

开启成功后,结果如下。

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

 

 

 

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

Elasticsearch管理控制台,Beats数据采集> 创建采集器。

 

image.png

 

 

创建采集器窗口中,单击Metricbeat

 

image.png

 

系统弹出的确定服务授权对话框

image.png

 

在采集器配置向导中,输入或选择采集器信息,输入Elasticsearch登录名Elasticsearch登录密码

image.png

 

metricbeat.yml中末尾添加如下脚本。

 

image.png

 

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实例。

 

image.png

 

 

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

GET _cat/indices?v

 

image.png

 

 

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

 

image.png

 

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

image.png

 

 

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

阿里云Elasticsearch管理控制台 > Beats数据采集中心。在创建采集器区域,单击ECS日志

 

image.png

 

在采集器配置向导中,输入或选择采集器信息。在填写Filebeat文件目录处,填写如下路径:

/var/log/nginx/

image.png

 

 

filebeat.yml中更改如下脚本:

在第24行enabled更改为true
在第28行更改paths
- /var/log/nginx/*.log

 

image.png

 

下一步,选择采集器安装的ECS实例。

image.png

 

 

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

GET _cat/indices?v

 

 

image.png

 

左侧导航栏,Discover选择filebeat,可查看采集的数据详情。

 

image.png

 

 

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

1.开通机器学习PAI服务

机器学习平台PAI。

image.png

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

image.png

在服务开通页面,选择要开通的机器学习PAI服务所在的区域。

image.png

 

确认开通。

image.png

 

 

 

2.创建PAI Studio项目

单击可视化建模(Studio)

image.png

在PAI Studio页面单击创建项目

image.png

创建项目页面,MaxCompute选择按量付费,填入项目名称。

image.png

开通的机器学习PAI服务所在区域。

image.png

勾选我已阅读并同意,立即开通

image.png

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

image.png

等待项目操作列出现进入机器学习,表示项目创建完成。

image.png

 

 

 

创建实验

左侧导航栏的首页

image.png

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

image.png

新建实验框,单击确定

image.png

 

 

查看实验数据

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

image.png

源数据的字段解释如下:

字段名

含义

类型

描述

user_id

用户编号

STRING

购物的用户ID。

item_id

物品编号

STRING

被购买物品的编号。

active_type

购物行为

STRING

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

active_date

购物时间

STRING

购物发生的时间。

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

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

image.png

可以看到结果数据为7月份以后的用户购买行为数据。

 

运行实验

左上角运行。

image.png

实验运行完成

image.png

 

 

 

查看实验结果

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

image.png

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

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

image.png

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

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

image.png

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

 

 

 

 

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
分布式计算 大数据 Java
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
49 5
|
1月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
49 3
|
1月前
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
60 0
|
1月前
|
数据采集 数据可视化 大数据
大数据体系知识学习(三):数据清洗_箱线图的概念以及代码实现
这篇文章介绍了如何使用Python中的matplotlib和numpy库来创建箱线图,以检测和处理数据集中的异常值。
42 1
大数据体系知识学习(三):数据清洗_箱线图的概念以及代码实现
|
25天前
|
存储 SQL 分布式计算
大数据学习
【10月更文挑战第15天】
30 1
|
1月前
|
分布式计算 大数据 Linux
大数据体系知识学习(二):WordCount案例实现及错误总结
这篇文章介绍了如何使用PySpark进行WordCount操作,包括环境配置、代码实现、运行结果和遇到的错误。作者在运行过程中遇到了Py4JJavaError和JAVA_HOME未设置的问题,并通过导入findspark初始化和设置环境变量解决了这些问题。文章还讨论了groupByKey和reduceByKey的区别。
26 1
|
1月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
54 1
|
1月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
4天前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
45 7
|
4天前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
14 2