MapReduce数据压缩机制

压缩目的: 降低数据磁盘存储空间,减少传输数据的IO量 压缩追求的指标: 压缩时间 越短越好 压缩化 越大越好 硬件需求如:CPU 算法支持 mr中可以使用压缩的地方: map的输出数据进行数据压缩,减少shuff给reduce的数据量 reduce的输出进行数据压缩,减少最终结果在磁盘存储所占的空间 检查Hadoop支持的压缩算法: [root@node-1 ~]# hadoop checknative Native library checking: hadoop: true /expor
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

Leetcode刷题记(17)—x的平方根

题目要求: 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 题解: 拿到题目后的第一反应是:数字的一半加一的平方肯定大于该数字,因此在0到一半加一之间遍历:当遍历到的每一个数字的平方小于该数字时,遍历加一;否则该索引减一即是该数字的平方根取下整。 但是这样最后测试时,当遇到超级大的数字时会出错,而且这样遍历时间复杂度超高。 改进的方法就是:二分法! 初始化时:左边界为0,右边界为数字的
分类: 其他 发布时间: 09-14 21:22 阅读次数: 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
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

算法导论 第二章 算法基础

算法导论 第二章 算法基础 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
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

luogu P1970 花匠 贪心

首先这道题可以用DP模仿最长上升子序列得到80分,然后我们来考虑一下正解应该怎么写。题意可以简化为选择尽可能多的花组成一个波浪型,然后我们我考虑,在每一个波峰上,在不影响后续的情况下,选取尽可能大的情况最顶最优。在波谷上,在不影响后续的情况下,选取尽可能小的情况也一定最优秀。因为尽可能大/小,我们后续的选择余地就更大。所以我们可以进行贪心。 1 #include <cstdio> 2 #include <algorithm> 3 using namespace std; 4 in
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

DistributedCache 分布式缓存

分布式缓存DistributedCache 概念: 所谓的分布式缓存指的是 hadoop框架可以把用户指定的小文件发送到各个maptask运行的机器上,进行缓存,便于maptask读取该文件内容 进行关联查询操作,这就是所谓的map端join。 适用场合: 通常适用于大文件关联小文件,把小文件进行分布式缓存。 举例说明: 订单数据 商品数据   把商品进行分布式缓存 通过maptask每处理一个订单 关联一次商品数据 如何高效的利用分布式缓存。 hadoop DistributedCache可
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

CombineTextInputFormat小文件处理场景

存在的问题 HDFS设计是用来存储海量数据的,特别适合存储TB、PB量级别的数据。但是随着时间的推移,HDFS上可能会存在大量的小文件,这里说的小文件指的是文件大小远远小于一个HDFS块(128MB)的大小;HDFS上存在大量的小文件至少会产生以下影响: 消耗NameNode大量的内存 延长MapReduce作业的总运行时间 因为MapReduce框架默认的 TextInputFormat 切片机制是对任务按文件规划切片,如果有大量小文件,就会产生大量的 MapTask,处理小文件效率非常低。
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

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) {
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

day_06 猜年龄游戏,三级菜单 (课后作业)

猜年龄游戏: 要求: 允许用户最多尝试3次 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序 如果猜对了,有三次选择奖励的机会,不要奖励可以随时退出,并打印奖品清单给用户看; count=0 real_age=19 goods_list=[ '芭比娃娃', '变形金刚', '小猪佩奇', '蜘蛛侠', '模型飞机', 'infl
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

GroupingComparator 自定义分组

图示说明: 有如下订单数据: 现在需要求出每一个订单中最贵的商品。 需求分析实现 (1)利用“订单id和成交金额”作为key,可以将map阶段读取到的所有订单数据按照id分区,按照金额排序,发送到reduce。 (2)在reduce端利用groupingcomparator将订单id相同的kv聚合成组,然后取第一个即是最大值。 代码实现: 定义订单信息OrderBean import java.io.DataInput; import java.io.DataOutput; import
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

实现一个电话号码生成器

任务背景 之前在测试一个系统的时候,经常需要用到手机号码,但是一个手机号使用后就不能再次使用了,所以经常要想一些可用的手机号,如18888888888等等,每次想手机号也挺麻烦的,所以这次想着做一个生成手机号的小工具。 实现过程 1、基本实现 import random list_1 = ["134", "135", "136", "137", "138", "139", "147", "150", "151", "152", "157", "158", "159", "172", "1
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

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
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

vue练手项目——桌面时钟

用vue实现一个简单的网页桌面时钟,主要包括时钟显示、计时、暂停、重置等几个功能。 效果图如下,页面刚进来的时候是一个时钟,时钟上显示的时、分、秒为当前实际时间,点击计时器按钮后,页面变成一个计时器,并且计时器按钮被暂停与重置两个按钮替代,分别对计时器进行暂停和重置,若点击时钟按钮会切换回时钟界面。 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>时钟</title> <sty
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

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
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

MapReduce自定义排序编程

排序和分组 在map和reduce阶段进行排序时,比较的是k2。v2是不参与排序比较的。如果要想让v2也进行排序,需要把k2和v2组装成新的类,作为k2,才能参与比较。 分组时也是按照k2进行比较的。 案例说明 数据: [email protected] [email protected] [email protected] [email protected] [email protected]
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

【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
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

luogu P1966 火柴排队 树状数组 逆序对 离散化

pass 我们直观上就希望ai和bi尽可能相似。我们做出一个大胆的猜想,是不是a序列中排名第i的,和b序列中排名第i的放在一个位置是最优的呢。多试几组数据发现是这样的 题目中让我们求交换次数。而我们现在也只关心相对排名,所以原先的数值不重要了。我们把原先的两个序列离散化一下,都变成1-n。 那现在就变成了求,两个1-n的数列,需要交换多少次,才能变成一样的序列。又有一个看起来很对的结论,我们把一个序列保持不动,让另外一个序列向其靠拢,和两个一起变换,在最优情况策略下,次数是一样的。 那把一个序
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

勒索病毒,华为/H3C三层交换机/路由器用ACL访问控制实现端口禁用

前不久勒索病毒横行,很多人都纷纷中招,从公司到个人,损失相当惨重。有些公司在互联网入口上做了控制,但是这样并非完全,万一有人把中了毒的U盘插入网内设备上呢?那我们的内网中很有可能集体中招(打过相关补丁的除外)。 我们今天就说说如何在路由、交换机上实现相应的访问控制,封堵相关端口,防止病毒在网络内部蔓延。以华为和H3C设备配置为例。 什么?为什么没有思科?要啥自行车,我们需要支持国产! ************************************** 华为 # acl number
分类: 其他 发布时间: 09-14 21:22 阅读次数: 0

Java后台开发Tomcat添加https支持小程序开发过程

文章原文:> Java后台开发Tomcat添加https支持小程序开发过程" target="_blank" rel="nofollow noopener noreferrer">blog.ouyangsihai.cn >> Java后台开发Tomcat添加h
分类: 编程语言 发布时间: 09-14 21:06 阅读次数: 0

Mapreduce编程技巧

在MR中,牢牢记住key时什么,因为key许多默认属性 排序===》key的字典序 分区===》key的哈希值 % reduce task Num 分组===》key相同为一组 x 1 排序===》key的字典序 2 分区===》key的哈希值  %  reduce task Num 3 分组===》key相同为一组
分类: 其他 发布时间: 09-14 21:05 阅读次数: 0