编程模型(MapReduce和Graph)
MapReduce编程模型
MR基础
最大优点是充分利用了闲置资源,多任务并行,快速得到答案。
拆分-处理-合并
MR框架介绍
MR处理流程
MapReduce(最早由Google提出)是一种分布式数据处理模型;核心过程主要分成2个阶段:Map阶段和Reduce阶段;首先执行Map阶段,再执行Reduce阶段。Map和Reduce阶段的处理逻辑由用户自定义实现,即实现分布式计算。
MR模型的适用场景
搜索:网页爬取、倒排索引,PageRank
Web访问日志分析:分析和挖掘用户在web上的访问、购物行为特征,实现个性化推荐;分析用户访问行为。
文本统计分析:例如小说的WordCount,词频TFIDF分析;学术论文、专利文献的饮用分析和统计;维基百科数据分析等。
海量数据挖掘:非结构数据、时空数据、图像数据的挖掘。
机器学习:监督学习、无监督学习、分类算法如决策树、SVM等。
自然语言处理:基于大数据的训练和预测;基于语料库构建单词同现矩阵,频繁项数据挖掘、重复文档检测等。
广告推荐:用户点击(CTR)和购买行为(CVR)预测
MR框架
用户视角看原理
用户视角谈实现
扩展MR
MR开发使用流程
1、阿里云官网下载插件、配置开发环境
2、新建java项目,完成MR开发
增加mapper
增加Reducer
增加MR Driver
添加处理逻辑
3、本地测试
准备本地测试数据
本地测试
本地测试结果检查
4、导出成jar包,并作为资源上传到ODPS的项目空间
add jar wcMR.jar -f;
MR打包成jar包
5、使用jar命令调用MR(命令示例如下)
jar -resources wcMR.jar -classpath wcMR.jar -classpath wcMR.jar example.wcDriver wc_in wc_out;
6、检查运行结果
7、开发发布完成。
发布
例子:WordCount
MR的开发说明:
1、支持MaxCompute内置类型的bigint,double,string,datetime及Boolean类型,不支持自定义类型。
2、接受多表输入,且输入表的schema可以不同。在map函数中,可以获取当前record对应的table信息。
3、输入可以为空,不支持视图(View)作为输入。
4、Reduce接受多路输出,可以输出到不同表,或者同一张表的不同分区。不同输出的schema可以不同。不同输出间通过label进行区分,默认输出不必加lable,目前不接受没有输出的情况。
MR编程模型-SDK核心接口
MaxCompute MR执行流程
核心接口
MapperBase:映射操作
JobConf:MR任务配置信息
MR使用注意事项
Graph编程模型
Graph概述
Graph的数据结构
Graph的处理流程
Graph的处理伪代码
Graph SDK介绍
Graph的Aggregator机制
Graph的作业运行
Graph开发使用流程
Dijkstra算法
配置java—+eclapse等跟mapreduce步骤都类似
JAVA沙箱限制
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MaxCompute SQL开发基础
SQL基础知识 MaxCompute没有事务概念、主键、索引,不支持update和delete操作 MaxCompute SQL是什么? MaxCompute SQL是个数据处理工具Query解析后,计算和存储交由底层的飞天实现MaxCompute SQL采用的类似于SQL的语法,可以看作是标准SQL的子集,但不能因此简单地把MaxCompute等价成一个数据库MaxCompute SQL每个作业的准备,提交阶段要话费较长时间,实时性不高。目前MaxCompute SQL长度有限制,单条不超过2M。 MaxCompute中的数据组织 Project项目空间: MaxCompute的所有对象都隶属于项目空间 项目时maxcompute计量计费及安全控制的基本单元 Table表: 所有的数据都存储在表里 支持表分区,支持依赖于表的视图 Partition分区: 上传时,手工创建分区并保证质量,需指定分区。 使用insert数据时支持动态分区 MaxCompute SQL的约束 不支持事务 不支持主/外键 不支持索引 不支持Update/Delete MaxCompute SQL的适用场景 ...
- 下一篇
MaxCompute安全和管理
用户与角色 多租户安全体系: 1、用户认证 MaxCompute账号体系MaxCompute支持云账号和RAM账号两种账号体系云账号:默认情况下,MaxCompute项目仅能识别阿里云账号系统;申请阿里云账号-实名认证-创建运行密钥accesskeysaccesskey由两部分组成:accesskeyid和accesskeysecret组成,accesskeyid 用于检索Accesskey,Accesskey用于计算消息签名查看账号系统命令:list accountproviders; RAM账号:RAM(resource access management)是阿里云为客户提供的用户身份管理与资源访问控制服务,通过RAM服务,主账号可以创建、管理用户账号(RAM账号),控制这些用户账号对主账号名下资源具有的操作权限。从归属关系上看,云账户与RAM用户是一种主子关系。从权限角度看,云账户与RAM用户是一种root与user的关系(类比Linux系统)。MaxCompute仅能识别RAM的账号体系,不能识别RAM的权限体系;添加RAM账号系统命令:add accountprovider ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启