自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《Hive - A Warehousing Solution Over a Map-ReduceFramework》

1.简介Hadoop是一种开源的MapReduce实现(以下简称MapReduce为MR),MR框架太慢了,并且开发人员需要自定义写MR代码,因此诞生了HiveHive是搭建在Hadoop上的开源的数据仓库Hive支持HQL(一种类SQL语言),它被编译成Hadoop上的MR任务Hive还包含catalog系统,叫做Hive-metastore,包含schema和staticics,这在数据分析和查询优化很有用处。2.Hive Database2.1 数据模型数据在Hive中被划分为Tab

2021-07-18 15:03:21 353

原创 《Kudu: Storage for Fast Analytics on Fast Data》论文笔记

一. kudu简介开源的、针对结构化数据的存储引擎支持低延迟随机访问、高效的分析型访问kudu是hadoop生态圈下的,支持多种访问模式,如 Impala、Spark、MapReduce

2021-07-11 11:59:09 325

原创 macOs终端开启root权限

macOs终端开启root权限未开启root权限会这样子,开启操作分两步完成step1:执行sudo npm install如果报错,改成执行sudo npm install -g cnpm --registry=https://registry.npm.taobao.orgsudo cnpm installstep2:启动root,按照操作输入密码sudo passwd root 切换到rootsu rootOK~...

2021-07-08 15:50:24 963

原创 MacOS一行代码安装brew

在mac下的brew,类似centos下的yum,ubuntu下的apt-get找到了一个非常强大的安装脚本安装一行代码即可/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"觉得有用就去点个赞吧 https://zhuanlan.zhihu.com/p/111014448...

2021-07-07 15:47:36 162

原创 《Impala: A Modern, Open-Source SQL Engine for Hadoop》论文笔记

前言impala是2014年开源的MPP SQL引擎,阅读这篇论文是想深入对比impala和doris的区别(虽然doris的查询引擎大部分用的是impala)注:论文发表于2014年,可能部分文中描述的不支持的特性已更新一.摘要&简介Impala是一个开源的、集成于Hadoop的MPP(massive parallel process) SQL引擎,Impala为Hadoop上的查询分析提供了低延迟和高并发。SQL on Hadoop单纯是一个计算引擎,和底层的存储解耦合能读取大多数

2021-06-21 17:53:59 546

原创 《Mesa: Near Real-Time, Scalable Data Warehousing》论文阅读笔记

这篇论文发表于2013,阅读原因是想看看doris的存储系统的设计一.摘要&简介Mesa是谷歌存放广告的一个数据仓库,它有以下特点原子性更新(可能一条用户的动作会影响很多相关数据的更新,这些更新需要原子性、一次性完成)高度可拓展(方便应对后续源源不断的数据增加)高可用(不能有单点故障,就算整个数据中心挂了,数据仓库也不能宕机)查询性能高强一致性和正确性近乎实时更新且吞吐量大(1s100w行更新的吞吐量)、支持连续更新在线数据和元数据转化(用户常常修改表的schema,比如更改数据

2021-06-18 12:04:04 331 1

原创 数据库主键、外键、超键、最左前缀原则

首先看看各种键的定义:超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键候选键(candidate key):不含有多余属性的超键称为候选键主键(primary key):用户选作元组标识的一个候选键程序主键外键(foreign key)如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。结合实例的具体解释:假设有如下两个表:学生(学号,姓名,性别,身份证号,教师编号)教师(教师编号,姓名,工资)超键:由超

2021-06-16 15:27:34 830

原创 在腾讯实习的五个月的一些思考与收获

2021年上半年在腾讯实习,马上实习结束跑路了,一些相关工作内容不方便对外发表,下面只记录一些思考与收获。1.思考组里面是做OLAP计算引擎的,从学科大类上来说,属于大数据、数据库领域的交界处。从1970年oracle发表的关系型模型论文开始,就开启了数据库的新世界,到95年开源的MySQL、学术圈的PostgreSQL,之后漫长的20多年都是单机版数据库。(如上图所示)随着移动互联网的兴起,数据量越来越大,出现了一些新形数据库,如2003的出现了内存的数据库memcache,到2005年左右.

2021-06-10 14:28:13 586

原创 大数据领域一些值得读的论文(不断更新

大数据领域一些值得读的论文(不断更新1.大数据Hadoop三辆马车MapReduce-2004:一种计算框架https://static.googleusercontent.com/media/research.google.com/zh-CN//archive/mapreduce-osdi04.pdfGoogleFileSystem-2003:GFS 谷歌的文件系统https://static.googleusercontent.com/media/research.google.com/zh-

2021-06-07 16:25:07 4089

原创 聊聊最近的困惑和选择

最近小半年的亲身经历Java后端太卷了,由于是985本科班+top2硕,才得侥幸有大厂面试机会当时2021年初,滴滴一面,一个陌生的电话打过来,那边“我是滴滴一面,下面开始Java后端实习这个岗位的面试吧”,接下来一连串的发问:string buffer、string builder区别?双亲委派?hashmap数据结构?说说红黑树??redis哨兵知道多少??可能很多读者觉得也很简单,很基础,因为这是就Java后端卷出来潜移默化的结果。而我当时一脸懵逼,“啊,额,emmmm,不好意思,我没用过,。

2021-06-03 23:59:02 224 3

转载 MPP架构学习

原文链接 https://blog.csdn.net/qq_42189083/article/details/80610092 1、 什么是MPP?MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,

2021-04-26 20:56:49 408

转载 rpm -qa含义

https://blog.csdn.net/weixin_43837883/article/details/89492409rpm –qa其中–a选项是查询所有已经安装的软件包。-q是查询一个包是否安装(显示区别:已经安装的rpm包不会显示后缀.rpm ,而未安装的包则显示后缀.rpm)一般查询一个安装包是否安装的的命令为:例如:rpm -qa | grep screen...

2021-04-26 19:56:46 992

原创 记一次ssh配分布式HA集群的报错与解决

在搭建分布式高可用集群时,想要通过ssh连接到其他节点,结果一直报错ssh:connect to host localhost port 22:Network is unreachable试了网上的方法都不行,https://blog.csdn.net/happygrilclh/article/details/80793606https://stackoverflow.com/questions/17335728/connect-to-host-localhost-port-22-connect

2021-03-06 21:13:53 531

原创 回头细品CAP理论

0.前言对于分布式系统,CAP是大家耳熟能详的定理,是加州大学伯克利分校的计算机科学家Eric Brewer 在 2000年提出的猜想,后被证明,cap三个单词分别代表:C:ConsistencyA:AvailabilityP:Partition Tolerance而Robert Greiner对CAP的理解也写了两篇文章,其中第一版一些定义是不准确的,怎么准确理解CAP定理,本文整理了更准确的定义和其中的细节点,汇总于此。1.CAP理论In a distributed system(a

2021-02-10 18:14:22 149 2

原创 Amazon Aurora:OLTP cloud-native relational Database阅读笔记

1.前言 & 摘要Amazon aurora是针对OLTP、云原生关系型数据库对于高吞吐量的数据处理,目前的主要矛盾已经转变为网络IO将redo操作推到了多租户水平拓展存储服务关键词:quorum model、OLTP、log processvpc:virtual private cloud,虚拟私有云使用多阶段同步协议(如 2-parse-commit)解决事务提交的问题在云环境下是困难的这些协议不能容忍大型分布式系统持续的硬故障和软故障,由于大型分布式系统有很多数据中心,他们也有很

2021-01-25 22:20:11 149

原创 Microsoft SQL Azure 论文阅读笔记

论文发表于2010年,论文提出了一个新概念:提供云SQL服务,SQL Azure提供完全的关系型数据库服务SQL Azure有以下特点:share nothing architecture单区提供ACID级别的事务一致性full relational supportCloud SQL Server currently only supports full ACIDproperties within a single partition其他大厂,都在研发自己的分布式存储系统,如Google

2021-01-24 21:29:10 125

原创 Snowflake Elastic Data WareHouse阅读笔记

摘要传统的数据仓库被设计为用于固定资源,数据的结构、容量、传入速度是可预测的,不能使用云的弹性,随着数据的种类变多、数据量变大,需要新型数据仓库Snowflake是建立在云上的新型数据仓库,架构上云(云原生?),DaaS(database as a service)特点:多租户 multi-tenant,pay-as-you-go,pay for use事务型,支持SQL,ACID(技术螺旋向上发展)支持semi-structure data和no schema data弹性和高可用(res

2021-01-21 22:10:01 840

原创 云计算&大数据一些常识

1.云原生(cloud native)4个要点:①DevOps ②持续交付 ③微服务 ④容器云原生是基于云基础之上的软件架构思想,以及基于云进行软件开发实践的一组方法论

2021-01-21 20:08:21 445

原创 什么是存储计算分离架构?

1.背景首先我们谈谈Hadoop的背景,说到Hadoop起源,就离不开Google的三辆马车:Google File System、MapReduce和BigTable,分别说了分布式文件系统、分布式计算MR和分布式结构化存储系统MapReduce论文翻译:MR链接Google file system论文翻译:gfs链接bigtable论文翻译:bigtabel链接Hadoop从2005年提出,采用的是存储计算耦合的架构,Hadoop将所有的计算(如:mapreduce、spark)和存储(如

2021-01-21 15:51:27 3520

原创 2021新的开始

好奇 热爱 专注 坚持作为搞技术的更新一下自己的观念我觉得“好奇 热爱 专注 坚持”这八个字特别重要兴趣是最好的老师,好奇和热爱会驱动着你不断去学习以最近为例,偶尔会查到很多技术名词,云计算的 IaaS、PaaS、SaaS分别是什么意思spark基于内存比hadoop更快HBase为什么要基于列存储关于分布式的CAP、BASE理论,Paxos算法,一致性哈希MapReduce可以用来做什么,为什么应用怎么广泛?倒排索引到底是什么?git的存储结构?远程仓库和本地仓库kafka消息

2021-01-16 12:07:45 104

原创 找到第K大

有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。示例1:输入[1,3,5,2,2],5,3返回值2示例2:输入[72,6,57,88,60,42,83,73,48,85],10,10返回值6import java.util.*;public class Finder { public int findKth(int[] a, int n, int K) {

2021-01-03 20:53:42 80

原创 Java中的ArrayList和LinkedList

最近面试被连续问到了arraylist和linkedlist在这里理一下它们各自的特点ArrayList底层是数组,可以随机存取,查询速度快,增加删除慢线程不安全初始容量是10,数组装满了才扩容,每次扩容是3/2也就是1.5倍只支持对象类型,不支持基本数据类型由于size是int类型,最大长度必然小于int最大值,是0x7fffffff - 8private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;为什么线程不

2021-01-01 10:56:10 134

原创 二进制操作整理

求一个数 转二进制数后1的数目int func(int x){ int count = 0; while (x) { count++; x = x&(x - 1); } return count;}求x二进制表达式最低位是1对应的值int lowbit(int x){ return x&(-x);}

2020-11-13 16:14:06 237

原创 迭代法后序遍历二叉树 和 Morris遍历法

迭代法后序遍历首先声明一个栈 stack若root有左子树,root入栈,root=root.left,直到root为空,弹出栈顶元素并将其赋值给root若root没有右子树或右子树已经被访问,则访问root节点,用pre记录root,然后root赋值null(注意:只有访问root节点时才更新pre节点)若root有右子树,则root入栈,root=root.right/** * Definition for a binary tree node. * public class Tre

2020-09-29 09:51:27 235

原创 空间O(1)迭代法中序遍历二叉树

Morris算法基本思路:首先中序遍历顺序是:左 根 右当左子树为空:访问当前节点当左子树不为空:先找到它的前驱pre,【1】若果前驱pre的右指针指向cur,说明整个左子树都已经被访问了,此时访问当前节点,然后cur=cur.right即可【2】如果前驱右指针没有指向cur,说明整个左子树没有被访问,此时将前驱的右指针指向cur,然后cur=cur.left即可/** * Definition for a binary tree node. * public class TreeN

2020-09-24 10:44:37 157

原创 Java OJ常用输入写法

平时如果刷LeetCode刷的比较多,会忘记输入输出怎么写诶在开学上机考试前特地花1个多小时整理了Java版的输入写法一.输入一个数、两个数//一.【一个数、两个数】 Scanner sc = new Scanner(System.in); int m=sc.nextInt(); int n=sc.nextInt(); System.out.println("m: "+m); System.out.println("n:

2020-09-18 10:26:09 1161

原创 最小生成树模板(java)

Prim算法时间复杂度O(n^2)class Solution { public int minCostConnectPoints(int[][] points) { // int res=0; int n=points.length; int[][] arr = new int[n][n]; //构建邻接矩阵 for(int i=0;i<n;i++){ for(int

2020-09-14 08:43:25 176

原创 spring笔记

spring是什么?spring是一个容器,用来创建对象,管理对象,给对象赋值,底层是反射创建对象,

2020-09-08 23:04:59 274

原创 Java集合框架API使用汇总

一维List创建与初始化List<Integer>temp = new ArrayList<Integer>();//或 List<Integer>temp = new ArrayList<>();//用已经存在的list初始化 List<Integer>copy = new ArrayList<Integer>(temp);//增加与删除temp.add(1);temp.remove(temp.size()-1);

2020-08-25 15:15:00 211

原创 互联网通信

C/S通信模型C:client 客户端软件(1)安装在客户端上的软件(2)用于向指定客户端请求资源,索要文件(3)帮助客户端软件将从服务器上接收的二进制数据解析为文字、数字、视频、图片、命令S:server 服务端软件(1)安装在服务器上的软件(2)接收客户端软件传来的请求(3)定位被访问的文件(4)将定位的文件解析为二进制数据适用场景:普遍适用于娱乐(微信、qq、京东、淘宝、B站)、大型游戏(魔兽、lol)、优点:1.安全性较高2.降低服务器压力(部分命令放置在客户端上)缺点

2020-07-14 15:57:43 370

原创 linux命令学习总结

命令格式命令 [-选项] [参数]目录处理命令lsls:list常配选项-a :【all】显示所有文件,包括隐藏文件(以’.'开头)-l :【long】显示详细信息-d:【directory】查看目标本身信息,而不是目录下信息详细信息7个参数的含义:1.文件类型及权限 2.计数3.所有者 4.所属组 5.文件大小(单位字节) 6.文件最后修改时间7.文件名文件类型及权限 一共有十个字母 (10 = 1 + 3(u) + 3(g) + 3(o) )第一个字母常见的有:- d l

2020-07-03 21:12:01 147

原创 Intellij IDEA常用快捷键

IDEA丝滑操作,只需键盘,不用鼠标功能快捷键快速建mainpsvm快速输出 System.out.printlnsout删除某一行ctrl+y窗口变大变小ctrl+F12切换java程序alt+左右箭头新增、新建、添加alt+insert提示方法参数ctrl+p...

2020-06-20 11:02:05 109

原创 面试之巧解TopK

正文问题描述:从arr[1, n]这n个数中,找出最大的k个数,这就是经典的TopK问题。栗子:从arr[1, 12]={5,3,7,1,8,2,9,4,7,2,6,6} 这n=12个数中,找出最大的k=5个方法一:k次冒泡排序我们知道一次冒泡排序可以将一个数‘冒’到目的位置那么我们只要调用K次冒泡排序即可方法二:堆排序朴实无华的手写堆排class Solution: ...

2020-05-02 15:46:46 327

原创 学习笔记-第六章接口、lambda与内部类《Java核心卷Ⅰ》

接口1.纯抽象类就是接口2.抽象类可以带有抽象方法和非抽象方法,抽象方法只要写到()就结束,e.g.public abstract void func();3.如果类带有抽象方法,那么它一定是抽象类4.extends是继承,Java只能单继承,多继承会导致‘致命方块’问题,Java巧妙的引入了接口,来达到多继承的效果public class Dog extends Animal i...

2020-04-29 21:03:08 118

原创 学习笔记-第五章.继承《Java核心卷Ⅰ》

继承1.关键字this和super的作用this两个作用 (1)引用隐式函数(2)调用该类的其他构造器super也是两作用(1)调用超类的方法(2)调用超类的构造器2.一个对象变量,可以指示多种实际类型得现象称为多态,在运行时能够选择自动调用哪个方法的现象称为动态绑定...

2020-04-28 09:58:01 134

原创 2020北大软微复试知识整理

大概还有20天北大软微2020的复试,整理一下知识点此文不仅仅是复试使用,今后找实习,春招秋招都会使用收集常见CS面试问题持久更新~~

2020-04-18 21:35:46 4114 7

原创 软件工程快速复习

瀑布模型:可行性分析、需求分析、软件设计(概要设计,详细设计)、编码、测试、维护特点:上一项开发活动的输出是这一次开发活动的输入开发活动不可逆转,需要文档较多...

2020-04-17 16:49:11 299

原创 计算机网络快速复习

每层的功能:1.物理层: 在终端设备间传输比特流 定义电压、接口、传输距离等2.数字链路层: 封装成帧 差错控制 流量控制 透明传输3.网络层: 异构网络互联 路由&转发 拥塞控制4.传输层: 为端到端提供可靠的传输服务 为端到端流量控制、差错控制5.应用层: 为应用程序接口提供网络服务一图掌握计网基本架构...

2020-04-16 11:29:39 462

原创 InnoDB锁定模式和兼容性理解

首先分为两大类1.读写锁 2.意向锁,(X S IX IS锁都是表锁)一.读写锁互斥锁(Exclusive),简称X锁,又称写锁共享锁(Share),简称S锁,又称读锁X锁和S锁都是表锁,有以下两个规定:一个事务对数据对象 A 加了 X 锁,就可以对 A 进行读取和更新。加锁期间其它事务不能对 A 加任何锁一个事务对数据对象 A 加了 S 锁,可以对 A 进行读取操作,但是不能进行...

2020-04-01 12:20:05 763 2

原创 字典树常用模板(不断更新

python版本class Trie: def __init__(self): self.children={} def insert(self, word: str) -> None: cur=self.children for i in range(len(word)): if word[i]...

2020-03-29 11:28:26 101

空空如也

空空如也

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

TA关注的人

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