MapReduce数据压缩机制
压缩目的: 降低数据磁盘存储空间,减少传输数据的IO量 压缩追求的指标: 压缩时间 越短越好 压缩化 越大越好 硬件需求如:CPU 算法支持 mr中可以使用压缩的地方: map的输出数据进行数据压缩,减少shuff给reduce的数据量 reduce的输出进行数据压缩,减少最终结果在磁盘存储所占的空间 检查Hadoop支持的压缩算法: [root@node-1 ~]# hadoop checknative Native library checking: hadoop: true /expor
Leetcode刷题记(17)—x的平方根
题目要求: 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 题解: 拿到题目后的第一反应是:数字的一半加一的平方肯定大于该数字,因此在0到一半加一之间遍历:当遍历到的每一个数字的平方小于该数字时,遍历加一;否则该索引减一即是该数字的平方根取下整。 但是这样最后测试时,当遇到超级大的数字时会出错,而且这样遍历时间复杂度超高。 改进的方法就是:二分法! 初始化时:左边界为0,右边界为数字的
树莓派4B 安装CentOS
刚入手了一个树莓派4B替换掉旧的3B搭Nas。吐槽下3B的网卡和USB速度真的太慢。 虽然官方推荐的是Debian,由于习惯了CentOS不想增加学习成本,我还是决定用CentOS。 镜像下载地址:http://mirrors.huaweicloud.com/centos-altarch/7.6.1810/isos/armhfp/ 用balenaEtcher刻录到TF卡,但是在4B上无法启动。 确认了下,目前CentOS暂时不支持树莓派4B的镜像。参考:https://ww
算法导论 第二章 算法基础
算法导论 第二章 算法基础 1.示例 INSERTION-SORT(A) for j=2 to A.length key=A[j]//要插入的元素A[j] //insertion A[j] into sequence A[1,2,...,j-1]. i=j-1//从第j-1个元素开始逐一比对 for i>0 and key<A[i] A[i+1]=A[i]//如果比对元素比插入元素大 就将比对的元素向右挪一位 i=i-1//接着比较原比对元素左边的元素与插入元素的大小关系 A[i+1]=key
luogu P1970 花匠 贪心
首先这道题可以用DP模仿最长上升子序列得到80分,然后我们来考虑一下正解应该怎么写。题意可以简化为选择尽可能多的花组成一个波浪型,然后我们我考虑,在每一个波峰上,在不影响后续的情况下,选取尽可能大的情况最顶最优。在波谷上,在不影响后续的情况下,选取尽可能小的情况也一定最优秀。因为尽可能大/小,我们后续的选择余地就更大。所以我们可以进行贪心。 1 #include <cstdio>
2 #include <algorithm>
3 using namespace std;
4 in
DistributedCache 分布式缓存
分布式缓存DistributedCache 概念: 所谓的分布式缓存指的是 hadoop框架可以把用户指定的小文件发送到各个maptask运行的机器上,进行缓存,便于maptask读取该文件内容 进行关联查询操作,这就是所谓的map端join。 适用场合: 通常适用于大文件关联小文件,把小文件进行分布式缓存。 举例说明: 订单数据 商品数据 把商品进行分布式缓存 通过maptask每处理一个订单 关联一次商品数据 如何高效的利用分布式缓存。 hadoop DistributedCache可
CombineTextInputFormat小文件处理场景
存在的问题 HDFS设计是用来存储海量数据的,特别适合存储TB、PB量级别的数据。但是随着时间的推移,HDFS上可能会存在大量的小文件,这里说的小文件指的是文件大小远远小于一个HDFS块(128MB)的大小;HDFS上存在大量的小文件至少会产生以下影响: 消耗NameNode大量的内存 延长MapReduce作业的总运行时间 因为MapReduce框架默认的 TextInputFormat 切片机制是对任务按文件规划切片,如果有大量小文件,就会产生大量的 MapTask,处理小文件效率非常低。
cdh 2.6.0版本和apache 2.7.x版本 本地执行环境的差异。
问题:在cdh中 reducetask个数不管设置几个 最终都是一个执行。 原因:两个版本中 本地执行环境api发生了改变 注意:两个版本的api在yarn集群模式都是一样的。 localJobRunner:
cdh:
int numReduceTasks = this.job.getNumReduceTasks();
if (numReduceTasks > 1 || numReduceTasks < 0) {
day_06 猜年龄游戏,三级菜单 (课后作业)
猜年龄游戏: 要求: 允许用户最多尝试3次
每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
如果猜对了,有三次选择奖励的机会,不要奖励可以随时退出,并打印奖品清单给用户看; count=0
real_age=19
goods_list=[
'芭比娃娃',
'变形金刚',
'小猪佩奇',
'蜘蛛侠',
'模型飞机',
'infl
GroupingComparator 自定义分组
图示说明: 有如下订单数据: 现在需要求出每一个订单中最贵的商品。 需求分析实现 (1)利用“订单id和成交金额”作为key,可以将map阶段读取到的所有订单数据按照id分区,按照金额排序,发送到reduce。 (2)在reduce端利用groupingcomparator将订单id相同的kv聚合成组,然后取第一个即是最大值。 代码实现: 定义订单信息OrderBean import java.io.DataInput;
import java.io.DataOutput;
import
实现一个电话号码生成器
任务背景 之前在测试一个系统的时候,经常需要用到手机号码,但是一个手机号使用后就不能再次使用了,所以经常要想一些可用的手机号,如18888888888等等,每次想手机号也挺麻烦的,所以这次想着做一个生成手机号的小工具。 实现过程 1、基本实现 import random
list_1 = ["134", "135", "136", "137", "138", "139", "147", "150", "151", "152", "157", "158", "159", "172", "1
java顺序栈功能通过数组实现
1.定义栈接口 1 public interface Stack<T> {
2 //返回栈的大小
3 public int size();
4 //判断栈是否为空
5 public boolean isEmpty();
6 //入栈
7 public void push(T t);
8 //出栈
9 public Object pop() throws StackEmptyException;
10 //返回栈顶元素
11
vue练手项目——桌面时钟
用vue实现一个简单的网页桌面时钟,主要包括时钟显示、计时、暂停、重置等几个功能。 效果图如下,页面刚进来的时候是一个时钟,时钟上显示的时、分、秒为当前实际时间,点击计时器按钮后,页面变成一个计时器,并且计时器按钮被暂停与重置两个按钮替代,分别对计时器进行暂停和重置,若点击时钟按钮会切换回时钟界面。 代码如下: <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>时钟</title>
<sty
Linux创建删除切换用户及注销系统
Linux创建删除切换用户 useradd username // 创建用户username passwd username // 为username 设置密码 // 创建完成后/home下会 出现username 文件夹 userdel username //删除username用户 rm -rf username // 删除用户username所在目录 // 以上命令root用户才能使用 su 用户名 // 切换用户 eg:su root切换为root用户 Linux系统注销 shutdo
MapReduce自定义排序编程
排序和分组 在map和reduce阶段进行排序时,比较的是k2。v2是不参与排序比较的。如果要想让v2也进行排序,需要把k2和v2组装成新的类,作为k2,才能参与比较。 分组时也是按照k2进行比较的。 案例说明 数据: [email protected]
[email protected]
[email protected]
[email protected]
[email protected]
【Spring Cloud】Spring Cloud之Zipkin server搭建以及HTTP收集,分布式服务跟踪(2)
一、搭建步骤 1)新建Spring Boot项目,引入pom坐标 <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent fro
luogu P1966 火柴排队 树状数组 逆序对 离散化
pass 我们直观上就希望ai和bi尽可能相似。我们做出一个大胆的猜想,是不是a序列中排名第i的,和b序列中排名第i的放在一个位置是最优的呢。多试几组数据发现是这样的 题目中让我们求交换次数。而我们现在也只关心相对排名,所以原先的数值不重要了。我们把原先的两个序列离散化一下,都变成1-n。 那现在就变成了求,两个1-n的数列,需要交换多少次,才能变成一样的序列。又有一个看起来很对的结论,我们把一个序列保持不动,让另外一个序列向其靠拢,和两个一起变换,在最优情况策略下,次数是一样的。 那把一个序
勒索病毒,华为/H3C三层交换机/路由器用ACL访问控制实现端口禁用
前不久勒索病毒横行,很多人都纷纷中招,从公司到个人,损失相当惨重。有些公司在互联网入口上做了控制,但是这样并非完全,万一有人把中了毒的U盘插入网内设备上呢?那我们的内网中很有可能集体中招(打过相关补丁的除外)。 我们今天就说说如何在路由、交换机上实现相应的访问控制,封堵相关端口,防止病毒在网络内部蔓延。以华为和H3C设备配置为例。 什么?为什么没有思科?要啥自行车,我们需要支持国产! ************************************** 华为 #
acl number
Java后台开发Tomcat添加https支持小程序开发过程
文章原文:> Java后台开发Tomcat添加https支持小程序开发过程" target="_blank" rel="nofollow noopener noreferrer">blog.ouyangsihai.cn >> Java后台开发Tomcat添加h
Mapreduce编程技巧
在MR中,牢牢记住key时什么,因为key许多默认属性 排序===》key的字典序
分区===》key的哈希值 % reduce task Num
分组===》key相同为一组 x 1 排序===》key的字典序 2 分区===》key的哈希值 % reduce task Num 3 分组===》key相同为一组
今日推荐
周排行