自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 MR | 案例三:统计流量数据并自定义分区按总流量排序

案例要求统计每个手机的总流量,按照手机号前三位进行分区,各个分区内按照总流量降序排序输入文件示例1 13736230513 192.196.100.1 www.baidu.com 2481 24681 2002 13846544121 192.196.100.2 264 0 2003 13956435636 192.196.100.3 132 1512 2004 13966251146 192.168.100.1 240 0 4045 18271595951 192.168.100.2 www

2020-07-29 15:30:08 630

原创 MR | 案例二:统计单词在不同文件中的出现次数

案例要求统计输入路径内每个单词在不同文件中的出现次数。输入文件示例// a.txtatguigu pingpingatguigu ssatguigu ss// b.txtatguigu pingpingatguigu pingpingatguigu ss// c.txtatguigu ssatguigu pingping输出结果示例// part-r-00000atguigu c.txt: 2, b.txt: 3, a.txt: 3pingping c.txt: 1

2020-07-29 13:56:40 513

原创 MR | 案例一:统计文件词频

题目要求求出输入路径中包含的所有文件中不同单词的出现次数。输入文件示例// a.txthadoop mapreducehdfshadoop mapreducehdfshadoop mapreducehdfshadoop mapreducehdfshadoop mapreducehdfs// inputword.txttony tonystudyhadoophdfs mapreducespark mysql输出结果示例// part-r-00000hadoop

2020-07-29 11:26:49 542

原创 Hadoop | HA高可用配置(包括HDFS和YARN)

准备集群准备三台虚拟机分别安装hadoop、zookeeper,其中hadoop可以选择之前使用的或者重新复制一份,(PS:如果为复制得到的hadoop请提前删除data、logs文件夹,否则格式化时可能会出错。)修改配置文件涉及到路径或集群名字请自行修改!!!core-site.xml<configuration><!-- 指定 HDFS 中 NameNode 的地址 --> <property> <name>fs.defaultFS&l

2020-07-16 00:21:37 353

转载 HDFS | 写文件时DataNode的故障处理

转载于:https://my.oschina.net/134596/blog/16471151.首先会关闭管线。2.将已经发送到管道中但是没有收到确认的数据包重新写回数据队列,这样无论哪个节点发生故障,都不会发生数据丢失。这个过程是在确认队列中将未收到确认的数据包删除,写回到数据队列。3.然后当前正常工作的数据节点将会被赋予一个新的版本号(利用namenode中租约的信息可以获得最新的时间戳版本),这样故障节点恢复后由于版本信息不对,故障DataNode恢复后会被删除。4.在当前正常的datano

2020-07-09 16:38:21 1523

原创 apache项目历史版本下载地址

apache项目存档站点http://archive.apache.org/dist/大数据常用项目1、hadoop: http://archive.apache.org/dist/hadoop/common/2、zookeeper:http://archive.apache.org/dist/zookeeper/3、hive:http://archive.apache.org/dist/hive/4、flume:http://archive.apache.org/dist/flume/5、k

2020-07-03 16:09:26 211

原创 LeetCode 209.长度最小的子数组

题目209.长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的解法。来源:力扣(LeetCode)滑动窗口定义两个指针start,en

2020-06-28 18:03:51 90

原创 VMware安装VMware Tools并设置与Windows时间同步

造成虚拟机与主机时间不同的原因如果在虚拟机开启的情况,windows系统进入睡眠,此时硬件上的时钟还在正常走。而VMware创建的虚拟机依赖于windows系统,睡眠后windows系统中所有程序暂停了,那么虚拟机的时钟也停了。即使唤醒系统时,少掉的时钟周期还是补不回来,因此虚拟机中的时间会比物理机中的时间慢。为什么要安装VMware Tools在学习Hbase的途中了解到时间戳对于Hbase集群的重要性,所以时间同步的必不可少的,通过开启ntpd服务以及配置时间服务器来实现Hbase集群间的时间同步

2020-06-22 18:55:14 1995

原创 Flume | 数据监控以及传输性能优化

测试环境阿里云学生机:2核4G 1MbpsVm虚拟机:2核6G 100Mbps数据量: 380w+测试source: spooldir测试channel: memory channel测试sink: hdfs sink初始配置文件(flume默认值)test1.confa1.sources = source1a1.channels = channel1a1.sinks = sink1 sink2 sink3#Define a memory channel called chann

2020-06-16 22:56:04 1085 1

原创 win10 设置滑动关机以及修改图片为ico格式

设置滑动关机之前看了一个视频,TOPBOOK : Win10 系统中,你可能不知道的五个小秘密。其中,滑动关机我觉得很有意思(有逼格)。设置很简单,在桌面创建一个快捷方式,弹出下面的界面。输入下面的代码%windir%\System32\SlideToShutDown.exe这时桌面就出现了你创建的快捷方式,双击即可进行滑动关机。图片转为ico格式刚才创建的快捷方式没有图标特别丑,我们可以更改图标,但是系统自带的也挺丑,下面给大家推荐一个免费图标的网站,里面的图标我自认为很好看。htt

2020-06-15 11:46:41 3525 3

原创 win10更新后VMware不可用解决

问题出现由于win10系统更新频率较为频繁并且bug不断,我就关闭了win10自动更新以及提醒,但在昨天也就是6月13号,系统提醒当前win10版本即将停止服务,这才无奈选择更新系统,而当我今天打开虚拟机时,系统提示VMware不可用,需要更新T_T,在VM更新过程中共遇到了两个问题,在此记录。更新时要求关闭vmware.exe进程更新完成后虚拟网卡消失...

2020-06-15 10:43:26 670

原创 HDFS | 在本地使用java api上传文件到阿里云ECS报错解决

使用文件流上传文件报错首先,确认报错信息。之前在使用虚拟机搭建完全分布式的时候曾经测试过使用IO流上传文件到HDFS并且成功,而这次报错发生在我将hadoop集群换成了在阿里云的伪分布式集群后。阿里云ECS基本信息Ubuntu 18.04123.57.x.x(公网)172.17.51.183(私网)阿里云ECS hosts文件检查一下伪分布式下hadoop集群的配置信息hdfs-site.xmlcore-site.xmlshell命令正常执行,jps显示NameNode,Da

2020-06-04 00:14:02 526 1

原创 MySQL | 本地Workbench连接阿里云ECS中MySQL数据库

TCP/IP远程连接设置ECS中MySQL远程登录权限--查看目前权限,user为登录用户,host为允许登录的ip地址select user, host from mysql.user; --设置root用户登录权限,也可以是别的用户--root为mysql中用户名 '@' 后跟的 '%' 代表任何IP--在 '***' 中输入用户密码GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '***' WITH GRANT OPTIO

2020-05-26 20:12:19 1865

原创 Mysql | 事务与其隔离级别(代码测试)

事务概述在Mysql里,可以将事务理解成具有原子性的一组SQL语句,执行一个事务只有两种结果:1.执行所有SQL语句返回结果(全部执行)。2.执行过程出现问题,整组SQL语句不会再执行(全部不执行)。事务特性一个良好的事务系统,一定会具有以下四个特性。原子性(Atomicity)一个事务就是一个不可分割的单元,整个事务的操作要么全部执行并提交,要么进行回滚。不会只执行整个事务的一部分操作。一致性(Consistency)在事务的ACID特性中,AID都是依赖数据库的具体实现,并不涉及其他

2020-05-21 18:35:46 183

原创 Kafka | 安装与基础入门

一、Kafka概述首先,Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue)具有分布式、高吞吐量、高可用的特点,主要应用于大数据实时处理领域。此外,Kafka采取的是消费者主动拉取的方式获取数据,至于这样做的好处,上一篇博客 关于消息队列基础 中提到的消息队列的作用之一:削峰。消费者可以根据自己的消费能力主动从消息队列中拉取数据进行消费,而消费者内部需要维持一个长轮询,不断的去访问消息队列中是否由新数据。其实,发布/订阅模式的消息队列还有一种数据获取方式,就是由消息队列

2020-05-19 15:54:11 181

原创 大数据学习中用的到自动化脚本

前言下面脚本中用到hadoop102、103、104是因为我在 /etc/hosts 目录下配置了映射关系,没有配置的话脚本是无法到达效果的。127.0.0.1 localhost localhost.localdomain localhost4localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain填写对应IP地址 hadoop102填写对应IP地

2020-05-19 15:34:59 199

原创 关于消息队列基础

一、什么是消息队列我们可以把消息队列比作是一个存放消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。举个通俗的例子,大学生在学校的时候快递并不是直接送到学生手里,而是暂存到各种代收包裹的站点,再由学生主动取出,而这些站点就相当于一个个消息队列。二、消息队列的作用既然要使用消息队列那肯定有他的理由,此时就不得不提三个最经典的场景:异步、削峰、解耦。 以电商平台为例,我们来解释这三个场景异步:我们观察下图当业务流程增加时,用户等待支付结束的时间也随之增加,怎么样减少用户等待的时间就成了系

2020-05-19 00:36:17 351

原创 动图演示 | C++实现六大排序算法

1、插入排序1.1 算法描述每次选择一个元素,并且将这个元素和整个数组中的所有元素进行比较,然后插入到合适的位置,图片演示如上,时间复杂度 O(n²)。1.2 动图演示1.3 代码实现void insertion_sort(int arr[], int length){ int i, j; for(i = 1; i < length; i++){ int tmp = arr[i]; for(j = i; j > 0 && arr[j - 1] >

2020-05-12 15:47:44 741

原创 MR | Mapreduce FileInputFormat切片流程

以本地模式的WordCount为例在作业提交过程进入到JobSubmitter类中有以下一段代码。 // Create the splits for the job LOG.debug("Creating splits at " + jtFs.makeQualified(submitJobDir)); // 传入当前作业实例,以及暂存job提交时所需数据的暂存路径 int maps = writeSplits(job, submitJobDir);

2020-05-11 23:36:56 162

原创 从数据流来理解HDFS读写流程

HDFS文件读取1、首先客户端创建一个FileSystem对象,并且调用open()方法打开希望读取的文件。2、FileSystem内部封装了DistributedFileSystem对象,DistributedFileSystem通过远程调用(RPC)来访问NameNode,得到访问文件起始块的位置。对于每一个块,NameNode按照网络拓补返回DataNode地址。3、Distribu...

2020-05-06 21:08:38 220

原创 MR | Mapreduce Job提交过程

以本地模式的WordCount为例。public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException { args = new String[] {"d:/input/wordcount/inputword.txt", "d:/output"};...

2020-05-06 17:31:29 344

原创 LeetCode【每日一题】 23. 合并K个排序链表(合并两个有序链表)

题目23. 合并K个排序链表合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6来源:力扣(LeetCode)迭代首先我们先根据21.合并两个有序链表用迭代法写...

2020-05-04 16:08:45 114

原创 LeetCode【每日一题】 1095. 山脉数组中查找目标值

题目1095. 山脉数组中查找目标值(这是一个 交互式问题 )给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 最小 的下标 index 值。如果不存在这样的下标 index,就请返回 -1。何为山脉数组?如果数组 A 是一个山脉数组的话,那它满足如下条件:首先,A.length >= 3其次,在 0...

2020-05-04 15:34:22 156

原创 LeetCode【每日一题】 45. 跳跃游戏 II

题目45. 跳跃游戏 II给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以...

2020-05-04 11:45:13 158

原创 LeetCode【每日一题】 数组中数字出现的次数

题目数组中数字出现的最大次数一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]限制:2 <...

2020-04-28 22:58:31 362

原创 LeetCode【每日一题】 46.全排列

题目46.全排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]一、库函数(next_permutation)函数:bool next_permutation(start, end) **(记得导入头...

2020-04-25 16:23:23 197

原创 LeetCode【每日一题】199.二叉树的右视图

题目199.二叉树的右视图给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \ 2 3 <--- \ \ 5 4 &l...

2020-04-22 11:37:12 142

原创 LeetCode【每日一题】 1248.统计优美子数组

题目1248.统计优美子数组给你一个整数数组 nums 和一个整数 k。如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中「优美子数组」的数目。示例 1:输入:nums = [1,1,2,1,1], k = 3输出:2解释:包含 3 个奇数的子数组是 [1,1,2,1] 和 [1,2,1,1] 。示例 2:输入:nums = ...

2020-04-22 11:30:14 232

原创 LeetCode【每日一题】 200.岛屿数量

题目200.岛屿数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3解...

2020-04-20 23:25:00 376 1

原创 LeetCode【每日一题】 11.盛水最多的容器

题目11.盛水最多的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下...

2020-04-18 11:51:59 215

原创 LeetCode【每日一题】 55.跳跃游戏

题目55.跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例2:输入: [3,2,1,0,4]输出: false解释: 无...

2020-04-17 15:46:02 179

原创 C++ 常用的格式化输出

刷题的时候经常遇到需要格式化输出的问题,专门记录一下以防忘记。头文件#include<iomanip>保留指定位数的小数(四舍五入)(保留两位小数)double n = 5;cout<<fixed<<setprecision(2)<<n;cout<<fixed<<setprecision(2)<<3...

2020-04-04 17:58:58 130

原创 动态规划—基础介绍

概述说起动态规划就不得不提起 Fibonacci数列 了,这个数列从第3项开始,每一项都等于前两项之和。而根据前一状态求得当前状态是动态规划一个很典型的特点,我们能够利用递推轻松的写出代码。#include<iostream>#include<cstring>using namespace std; int main(){ int n; cin&gt...

2020-03-28 20:20:14 183

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除