MapReduce

阿里云远程MapReduce配置(使用外网)

人走茶凉 提交于 2020-03-16 17:47:53
1.hosts linux:内网ip widows hosts添加:外网ip 47.x.x.x 主机名 2. etc/hadoop/slaves linux主机名 3. 4个xml配置 把主机名“zs”改掉即可 yarn-site.xml 里面需配置0.0.0.0->外网访问8088端口yarn集群控制页面 复制到idea的resources时把0.0.0.0改为主机名“zs”(即外网ip) <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>zs</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>0.0.0.0:18040</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>0.0.0.0:18030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>0.0.0.0:18025</value> <

Hive

▼魔方 西西 提交于 2020-03-15 22:04:10
基于分布式存储用于查询和管理的数据仓库 海量存储数据一般都可以使用mapreduce进行计算分析,获取中间结果,又作为初始结果进行输入,最终可以得到计算的结果,缺点是效率低 实现MapReduce逻辑比较复杂 使用sql语句操作,把大量的MapReduce程序写成一个模版,封装到一个框架中,这个框架就是hive hive创建出一个表,关联文件存储路径,放到元数据库中,在根据sql语句的类型编译出相应的MapReduce程序,就可以得到一个可以运行的程序传给执行器,就可以根据hadoop命令提交到集群中,这样就无需自己写MapReduce程序,只需要写SQL语句就可以 hive比较慢,因为底层使用的是MapReduce框架实现的 spark替代hive,spark底层是把sql语句翻译成spark hive结构 hive不支持单条操作,因为hdfs不支持 来源: oschina 链接: https://my.oschina.net/u/4434424/blog/3195471

连表数据统计

穿精又带淫゛_ 提交于 2020-03-14 01:39:05
连表操作应该算是程序员的入门基础吧,但自嘲的说,长时间不使用的话,难免还是会有生疏。 hive 上连表操作的查询,是通过 map-reduce 的方式执行的。正常情况下, hive 应该会对每个 JOIN 操作启动一个 map-reduce 任务。 JOIN 的操作也是从左到由执行的。一般来说,习惯将最大的数据表放在最后。因为,在对每行数据记录进行关联操作时,它会尝试将其它表缓存起来,然后扫描最后的表进行计算。 在执行 JOIN 的关键字 on 之后,是否可以跟过滤条件?对比下面两个查询 查询一 select * from topic_relation r join note on r.note_id = note.id and note.type = 1 查询二 select * from topic_relation r join note on r.note_id = note.id where note.type = 1 基本上 SQL 中都是先执行 JOIN 语句,然后再将结果通过 where 语句进行过滤。所以,我理解,这两个查询语句的执行效率是一样的。 还有感觉比较值得思考的,善用子查询。 来源: oschina 链接: https://my.oschina.net/u/3017278/blog/3193673

Spark MapReduce实现移动聚合操作(移动平均、求和、计数等)

≡放荡痞女 提交于 2020-03-13 01:42:19
1. 需求 在处理时间序列或者是有序数据时候,经常会越到这样的情形:1、求客户最近一个月的平均消费金额;2、求客户最近一个月的消费次数;3、求与客户在最近一个月内发生大额消费的客户数量 上述问题中,问题1与问题2是典型的求指定客户在指定时间段的行为统计值,可以通过客户进行分组然后过滤统计即可,而问题三则是求解与该客户在指定时间段内发生某种行为的客户数量,即没有具体的聚合Key,从而不同按照问题1与问题2进行分组的方式求解,而通过类似时间序列中求一个序列的移动平均方法来求解 针对上述两类情形,下面分别提供了两个函数,这个两个函数,一个是aggregateByKey,根据key聚合,并对聚合后的每一条记录采用窗口函数获取聚合数据,即该函数是对每一个key对应的value进行移动聚合操作。另一个是aggregateByAll,根据key进行排序,通过窗口函数获取结果进行聚合。这两个函数都是根据窗口函数进行聚合操作,但不同点在于作用范围不同。 窗口函数与聚合函数用户定义可以自由定义,通过定义不同的窗口函数与聚合函数,可以实现不同的移动逻辑以及聚合运算。 2. 实现思路 2.1 aggregateByKey aggregateByKey实现起来比较简单,因为一般情况先,单个key对应的value不会很大(单个executor的内存是可以装得下的)

Spark MapReduce实现移动聚合操作(移动平均、求和、计数等)

左心房为你撑大大i 提交于 2020-03-13 01:34:24
1. 需求 在处理时间序列或者是有序数据时候,经常会越到这样的情形:1、求客户最近一个月的平均消费金额;2、求客户最近一个月的消费次数;3、求与客户在最近一个月内发生大额消费的客户数量 上述问题中,问题1与问题2是典型的求指定客户在指定时间段的行为统计值,可以通过客户进行分组然后过滤统计即可,而问题三则是求解与该客户在指定时间段内发生某种行为的客户数量,即没有具体的聚合Key,从而不同按照问题1与问题2进行分组的方式求解,而通过类似时间序列中求一个序列的移动平均方法来求解 针对上述两类情形,下面分别提供了两个函数,这个两个函数,一个是aggregateByKey,根据key聚合,并对聚合后的每一条记录采用窗口函数获取聚合数据,即该函数是对每一个key对应的value进行移动聚合操作。另一个是aggregateByAll,根据key进行排序,通过窗口函数获取结果进行聚合。这两个函数都是根据窗口函数进行聚合操作,但不同点在于作用范围不同。 窗口函数与聚合函数用户定义可以自由定义,通过定义不同的窗口函数与聚合函数,可以实现不同的移动逻辑以及聚合运算。 2. 实现思路 2.1 aggregateByKey aggregateByKey实现起来比较简单,因为一般情况先,单个key对应的value不会很大(单个executor的内存是可以装得下的)

golang 并发模式笔记

微笑、不失礼 提交于 2020-03-11 12:24:29
golang并发 1. worker Pool 启动一个工作池,启动maxRoutines个routine,轮询works,满时阻塞任务添加 1.1 接口 type Worker interface{ Task() } // 实现自定义Worker type WorkPool interface { Run(w Worker) Shutdown() } // Run 向Worker添加任务 // Shutdown 终止任务 type WorkerConstruction func(maxRoutines int) *WorkPool // 构造WorkPool type WorkPool struct { works chan Worker wg sync.WaitGroup } // works 向Worker添加任务 // wg 控制任务调度 1.2 实现 func NewWorkPool(maxRoutines int) *WorkPool{ wp := &WorkPool{ works:make(chan Worker), } wp.wg.Add(maxRoutines) for i:=0;i!=maxRoutines;i++{ // 启动N个routine, 每一个都range works,chan会确保这没有冲突 go func(){ for w := range wp

如何在MaxCompute中利用bitmap进行数据处理?

雨燕双飞 提交于 2020-03-11 10:59:32
很多数据开发者使用bitmap技术对用户数据进行编码和压缩,然后利用bitmap的与/或/非的极速处理速度,实现类似用户画像标签的人群筛选、运营分析的7日活跃等分析。 本文给出了一个使用MaxCompute MapReduce开发一个对不同日期活跃用户ID进行bitmap编码和计算的样例。供感兴趣的用户进一步了解、分析,并应用在自己的场景下。 import com.aliyun.odps.OdpsException; import com.aliyun.odps.data.Record; import com.aliyun.odps.data.TableInfo; import com.aliyun.odps.mapred.JobClient; import com.aliyun.odps.mapred.MapperBase; import com.aliyun.odps.mapred.ReducerBase; import com.aliyun.odps.mapred.conf.JobConf; import com.aliyun.odps.mapred.utils.InputUtils; import com.aliyun.odps.mapred.utils.OutputUtils; import com.aliyun.odps.mapred.utils.SchemaUtils

MaxCompute问答整理之8月

好久不见. 提交于 2020-03-10 10:27:28
本文是基于对MaxCompute产品的学习进度,再结合开发者社区里面的一些问题,进而整理成文。希望对大家有所帮助。 问题一、通过数据源数据增量同步后,如何查看某一条数据具体被同步到MaxCompute中的时间? 不支持,查看不了,可以看表元数据的LastModifiedTime时间,但具体某个记录看不到时间。 问题二、开发的数据处理脚本能否在不同地区项目空间迁移? 跨项目克隆只能同账号同region,所以不同地区之间可以使用项目备份恢复来完成。 可参考官方文档操作: https://help.aliyun.com/document_detail/95940.html 温馨提示:此功能现阶段支持恢复文件大小必须是30M以下大小,后续会更新版本,请大家持续关注。 问题三、创建工作空间时,会碰到客户端显示project不存在,或者切换空间显示project不存在,这是什么原因? 一般这种问题,是因为开通账号之后,在建project时没有选择MaxCompute计算引擎服务导致的。 可以重新建project来解决问题。正确选择如下。 温馨提示:按量付费和包年包月选项是需要购买服务才可以。开发者版本可免费试用。 开发者版开通地址: https://promotion.aliyun.com/ntms/act/cloud/maxcdeveloperfbh.html 问题四

干货!腾讯资深架构解密从分布式到微服务

给你一囗甜甜゛ 提交于 2020-03-09 21:31:33
【推荐】2020年最新Java电子书集合.pdf(吐血整理) >>> 前言 “微服务”架构在这几年被广泛传播,变得非常火热,以至于关于微服务架构相关的开源框架和工具都变得越来越活跃,比如: Netlix OSS、Dubbo、Apache Thrift等。Spring Cloud也因为Spring社区在企业应用领域的广泛知名度和强大影响力,受到了广大架构师与开发者的高度关注。 内容简介 分布式架构与微服务平台是当今IT界的关键技术,也是资深软件工程师和系统架构师必须掌握的核心技术。本书以从传统分布式架构迁移到基于容器技术的微服务架构为主线,全面、透彻地介绍了与分布式架构及微服务相关的知识和技术。本书-开始并没有提及分布式的枯燥理论,而是讲述了一段精彩的IT发展史,其中重点讲述了大型机、UNIX 小机器的没落与X86平台的崛起,从而巧妙地引出CPU、内存、网络、存储的分布式演进过程,这恰恰是分布式软件系统赖以运行的“物质基础”。然后简明扼要地介绍了进行系统架构所必需的网络基础,并详细介绍了分布式系统中的经典理论、设计套路及RPC通信,对内存、SOA架构、分布式存储、分布式计算等进行了深度解析,最后详细介绍了全文检索与消息队列中间件,以及微服务架构所涉及的重点内容。本书是Leader-us多年架构经验的倾情分享,主要面向关注分布式架构及微服务,以及有志于成为实力派架构师的IT人士。

hadoop(hadoop是什么)

别来无恙 提交于 2020-03-08 14:30:20
Hadoop是什么 Hadoop是Apache基金会开发的分布式系统基础架构 Hadoop主要被用来解决海量数据的 存储 和海量数据的 分析计算 广义上来说,Hadoop通常是指一个更广泛的概念----Hadoop生态圈 Hadoop发展历史 Lucene框架是Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎。 2001年年底Lucene成为Apache基金会的一个子项目。 对于海量数据的场景,Lucene面对与Google同样的困难, 存储数据困难 , 检索速度慢 。 学习和模仿Google解决这些问题的办法 :微型版Nutch。 可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文) GFS ----> HDFS Map-Reduce ----> MR BigTable ----> HBase 2003-2004年,Google公开了部分GFS和MapReduce思想的细节,以此为基础Doug Cutting等人用了 2年业余时间 实现了DFS和MapReduce机制,使Nutch性能飙升。 2005 年Hadoop 作为 Lucene的子项目 Nutch的一部分正式引入Apache基金会。 2006 年 3 月份,Map-Reduce和Nutch