本文从三个实验入门大数据,但是需掌握前提知识点,以及它的背景是什么,用在哪些场景里面。从实验的角度出发给出详细的步骤参考,并熟悉组件特性。
数据分析的需求
1 背景知识
数据量爆发式增长的今天,数字化转型成为IT行业的热点,数据需要更深度的价值挖掘,应对未来不断变化的需求。海量离线数据分析可以应用于多种商业系统环境,例如电商海量日志分析、用户行为画像分析、科研行业的海量离线计算分析任务等场景。
E-MapReduce(简称“EMR”)是云原生开源大数据平台,向客户提供简单易集成的Hadoop、Hive、Spark、Flink、Presto、Clickhouse、Delta、Hudi等开源大数据计算和存储引擎。EMR计算资源可以根据业务的需要调整。EMR可以部署在阿里云公有云的ECS和ACK、专有云平台。产品文档地址:https://www.aliyun.com/product/emapreduce
2 产品优势
开源生态:提供高性能、稳定版本Hadoop、Spark、Hive、Flink、Kafka、HBase、Presto、Impala、Hudi等开源大数据组件,客户可根据场景灵活搭配使用
引擎优化:多引擎性能优化,如Spark SQL较开源版本提升6倍。采用JindoFS+OSS,保证数据可靠性基础上,性能大幅提升
便捷运维:在阿里云控制台和OpenAPI方便地对集群、节点和服务进行监控和运维操作。助您大幅提升运维工作效率,让数据工程师更专注于业务开发
节约成本:集群资源可自动按需匹配,您只需要按实际使用量付费,减少资源浪费成本。支持阿里云抢占式实例、预留实例券(RI),进一步降低成本
弹性资源:可以灵活调整集群资源,在数分钟内创建出基于云服务器 ECS、容器 ACK的集群,快速响应业务需求
安全可靠:通过 VPC 和安全组设置集群网络安全策略,支持Kerberos身份认证和数据加密,使用Ranger数据访问控制。支持数据加密,保证数据安全
3 步骤
- 登录集群
● 使用Firefox ESR浏览器和阿里云分配子账号的登录阿里云
● 登录成功后进入阿里云控制台首页,点击左侧菜单,输入关键词“emr”,点击 E-MapReduce 进入管理页面
● 在E-MapReduce控制台页面上方,选择资源所在地域。例如下图中,地域切换为华东2(上海)
● 在E-MapReduce控制台页面的集群列表区域,单击您的集群名/ID
● 集群基础信息页面的主机信息区域,复制MASTER的节点的公网ip地址。
● 打开远程桌面终端LxShell
● 在终端中输入连接命令ssh root@[ipaddress]
● 输入 yes
● 同意继续后将会提示输入登录密码
- 上传数据到HDFS
● 使用hdfs dfs -mkdir -p /data/student 命令创建HDFS目录
● 创建u.txt文件并上传文件到hadoop文件系统:hdfs dfs -put u.txt /data/student
。
● 查看文件: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;
高效的运维
1 背景知识
信息过载和复杂的业务环境,以及故障的定位、检测等工作给运维工程师和技术体系提出了更高的要求,同时,IT架构复杂,运维工具繁多,工具之间的衔接困难,上手成本高的问题,也给运维工作带来了挑战。基于此,Elastic Stack为全链路智能运维系统提供了场景化解决方案。
目的是用Beats采集器收集ECS上的系统数据和Nginx服务数据,配置基础的指标分析看板,简单展示数据采集、分析的过程和操作方式。
2 优势
Elasticsearch兼容开源ELK功能,提供免运维全托管服务的弹性云搜索与分析引擎,致力于数据库加速、数据分析、信息检索、智能运维监控等场景服务;独有的云原生高性能内核、达摩院NLP分词、向量检索、智能运维、免费X-Pack高级商业特性等能力,全面提升企业应用效率,降低成本。
产品文档:https://help.aliyun.com/document_detail/196921.html
3 详细步骤如下
- 登录Kibana,开启自动创建索引功能步骤
- 在右侧概览页面Elasticsearch区域中,单击集群管理。
- 在Elasticsearch实例列表中,单击实例ID。
- 在左侧导航栏,选择配置与管理 > 可视化控制。
- 在Kibana区域中,单击修改配置。
- 开启Kibana私网访问,此变更过程需等待3-5分钟。
- 返回上级页面,在Kibana区域中,单击公网入口。
- 复制左侧云产品资源列表下的Elasticsearch登录名和Elasticsearch登录密码,至Kibana登录页面的账号和密码,单击登录。
- 在登录成功页面,单击Explore on my own。
- 在左侧导航栏,单击Dev Tools(开发工具),再单击Go to work。
- 在Console页签下,执行如下命令,开启阿里云ES实例的自动创建索引功能。
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index": "true"
}
}
- 使用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,可查看监控仪表板。
- 使用Filebeat采集ECS上的Nginx服务数据步骤
- 返回阿里云Elasticsearch管理控制台 > Beats数据采集中心。
- 在创建采集器区域,将鼠标移至Filebeat上,单击ECS日志。
- 在采集器配置向导中,输入或选择采集器信息。完成后,单击下一步。
在填写Filebeat文件目录处,填写如下路径:
/var/log/nginx/
- 在filebeat.yml中更改如下脚本。
在第24行enabled更改为true。
在第28行更改paths:
- /var/log/nginx/*.log
- 单击下一步,选择采集器安装的ECS实例。
- 启动采集器并查看采集器安装情况,此生效过程需等待3~5分钟。
a. 单击启动。启动成功后,系统弹出启动成功对话框。
b. 单击前往采集中心查看,在采集器管理区域中,查看启动成功的Filebeat采集器,等待采集器状态变为已生效1/1。
- 返回Kibana页面,在左侧导航栏,单击Dev Tools(开发工具)。
- 在Console页签下,执行如下命令,查看索引。
GET _cat/indices?v
- 在左侧导航栏,单击Discover,点击选择filebeat,可查看采集的数据详情。
数据挖掘入门
1 基础知识
一个经典案例就是尿布与啤酒的例子。尿布与啤酒看似毫不相关的两种产品,但是当超市将两种产品放到相邻货架销售的时候,会大大提高两者销量。很多时候看似不相关的两种产品,却会存在这某种神秘的隐含关系,获取这种关系将会对提高销售额起到推动作用,然而有时这种关联是很难通过经验分析得到的。这时候我们需要借助数据挖掘中的常见算法-协同过滤来实现。这种算法可以帮助我们挖掘人与人以及商品与商品的关联关系。数据挖掘的一个经典案例就是尿布与啤酒的例子。尿布与啤酒看似毫不相关的两种产品,但是当超市将两种产品放到相邻货架销售的时候,会大大提高两者销量。很多时候看似不相关的两种产品,却会存在这某种神秘的隐含关系,获取这种关系将会对提高销售额起到推动作用,然而有时这种关联是很难通过经验分析得到的。这时候我们需要借助数据挖掘中的常见算法-协同过滤来实现。这种算法可以帮助我们挖掘人与人以及商品与商品的关联关系。
那协同过滤算法是一种基于关联规则的算法。以购物行为为例,如果用户甲和用户乙都购买了商品A和商品B,则可以假定用户甲和用户乙的购物品味相似。当用户甲购买了商品C,而用户乙未购买时,可以将商品C推荐给用户乙,这就是经典的User-Based,即以User的特性为关联。
2 详细步骤
推荐系统入门之使用协同过滤实现商品推荐
1、开通机器学习PAI服务
阿里云官网-> 登录->产品->人工智能->机器学习平台PAI->立即开通->选择区域->免费开通并创建默认工作空间-角色授权:去授权->授权完成回到之前开通页面->确认开通并创建默认空间-PAI管理控制台
2、创建实验
控制台->工作空间->模型开发与训练:可视化建模(Designer)->工作流模板->推荐算法 商品推荐->创建->确定
3、查看实验数据
旧版:右键单击cf_训练_data节点,单击查看数据;
右键单击cf_结果_data,单击查看数据;
新版:
右键读取数据表,单击执行该节点,等待执行完毕查看数据
4、运行实验
单击左上角运行文字(旧版)或者按钮(新版),等待运行完毕;
5、查看实验结果:
右键单击join-1节点(旧版)或JOIN(新版),单击查看数据,
表中similar_item字段为经过协同过滤算法计算得出的该用户购买可能性最大的商品。
单击全表统计-1节点(旧版)或者全表统计(新版),然后单击查看数据,
表1统计了根据协同过滤算法推荐的商品数量,共有18065个商品可推荐。
单击全表统计-2节点(旧版)或者右边全表统计(新版),然后单击查看数据,
表2统计了7月份真实购买行为数据中与经过协同过滤算法所推荐的商品的命中数量,可以看到有60个推荐的商品被购买。