自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 018.有效的回文

有效的回文

2022-06-14 21:47:08 1417 1

翻译 HBase

HBase

2022-06-11 13:56:24 237

翻译 YARN组织架构

YARN组织架构

2022-06-09 22:36:23 689

翻译 MapReduce工作机制

MapReduce工作机制

2022-06-09 22:14:07 482

翻译 HDFS组织架构

NameNode HA:一个NameNode有单点故障问题,配置双NameNodeNameNode数据存储在内存和本地磁盘,本地磁盘数据存储在fsimage镜像文件和edits编辑日志文件首次启动:第二次启动

2022-05-31 23:24:25 102

翻译 HDFS读写流程

目录1. HDFS写流程2. HDFS读流程3. Question3.1 HDFS在读取文件时,如果其中一个块突然损坏了怎么办?4. HDFS在上传文件的时候,如果其中一个DataNode挂掉怎么办?1. HDFS写流程客户端发送上传请求,通过RPCt与NameNode建立通信,NameNode检查该用户是否有上传权限,以及上传的文件在目录下是否有重名。有问题报错,否则返回客户端一个可以上传的信息。RPC是远程过程调用,它是一种通过网络从远程计算机程序上请求服务客户端根据文件的大小进行切

2022-05-31 18:12:56 4335 1

原创 Leetcode:608 树节点

文章目录一、code1.1 题目描述1.2 题解二、总结一、code1.1 题目描述地址1.2 题解# Write your MySQL query statement belowselect id, case when p_id is null then 'Root' when id in (select distinct p_id from tree) then 'Inner' # 当not in() 里面包含null值,查询不会返回任何值

2022-05-29 15:42:44 1064

原创 Hive优化

1. 行列过滤在使用外关联时 join + where =》where + join 防止全表关联少用select * 尽量分区过滤2. 替换计算引擎mr 基于磁盘 可靠性高 效率低 数据量较大,计算时间长(周月年)tez 基于内存 可靠性差 效率高 临时调试使用,即席查询spark 基于内存+磁盘 居中 居中 每天的定时任务3. 创建分区表(天)4. 小文件处理hive小文件处理5. 压缩降低网络传

2022-05-29 15:06:51 58

原创 Hive计算引擎

mr:多job串联,基于磁盘,落盘的地方比较多。虽然慢,但一定能抛出结果.一般处理年、月、周指标Spqrk:虽然在shuffle过程中也落盘,但并不是多有算子都需要shuffle。兼顾了可靠性和效率。一般处理天指标Tez:完全基于内存,一般用于快速出结果,数据量小的场景。如果数据量巨大,容易OOM。   可以将多个有依赖的作业转换为一个作业,这样只需写一次hdfs,大大提升作业的计算性能。...

2022-05-29 12:43:20 175

原创 为什么要数据分层

用空间换时间,通过大量的预处理来提升应用系统的效率,因此数据仓库会存在大量的冗余数据。通过数据分层管理可以简化数据清洗过程,相当于把一个复杂的工作拆成了多个简单的工作,当数据发生错误的时候,往往我们只需要局部调整某个步骤即可。如果不分层的话,如果原业务系统发生变化会影响整个数据清洗过程,工作量巨大...

2022-05-29 12:30:46 388

原创 数据建模有哪些模型

目录1. 星型模型2. 雪花模型3. 星座模型1. 星型模型  星型模型是最常用的维度建模方式。星型模型是以事实表为中心,所有维度表直接连接在事实表上。星型模型由一个事实表和一组维度表组成。2. 雪花模型雪花模式(Snowflake Schema)是对星形模式的扩展。雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能比星型模型要低。3. 星座模型星座模式是星型模式延伸而来,星型模式是基于一

2022-05-29 12:24:16 941

原创 解决小文件处过多

文章目录1. 使用hive自带的concatenate命令,自动合并小文件2. 调整参数减少map数量3. 减少Reduce的数量4. HAR归档5. jvm重用1. 使用hive自带的concatenate命令,自动合并小文件使用方法:2. 调整参数减少map数量在执行map前进行小文件合并,在 mapper 中将多个文件合成一个 split 作为输入。调整split 的至少大小3. 减少Reduce的数量reduce 的个数决定了输出的文件的个数,所以可以调整 reduce 的个数控制

2022-05-29 11:54:05 451

原创 068.查找插入位置--二分查找

文章目录一、code1.1 题目描述1.2 题解二、总结一、code1.1 题目描述地址1.2 题解class Solution { // 二分查找 public int searchInsert(int[] nums, int target) { int left = 0; int right = nums.length - 1; if(nums[left] > target) return 0; //左边界 i

2022-05-28 22:24:49 52

翻译 Hive数据倾斜

目录数据倾斜问题数据倾斜解决方案1. 空值引发的数据倾斜2. 不同数据类型引发的数据倾斜3. 不可拆分大文件引发的数据倾斜4. 确实无法减少数据量引发的数据倾斜数据倾斜问题发生数据倾斜的原因有两种:一是任务中需要处理大量相同的key的数据。二是任务读取不可分割的大文件。  1. 在map和reduce两个阶段中,最容易出现数据倾斜的就是reduce阶段,因为map到reduce会经过shuffle阶段,在shuffle中默认会按照key进行hash,如果相同的key过多,那么hash的结果就是大量相同

2022-05-27 23:15:29 224

原创 Hive 索引

  Hive 支持索引(3.0 版本之前),但是 Hive 的索引与关系型数据库中的索引并不相同,比如,Hive 不支持主键或者外键。并且 Hive 索引提供的功能很有限,效率也并不高,因此 Hive 索引很少使用。索引适用的场景:  适用于不更新的静态字段。以免总是重建索引数据。每次建立、更新数据后,都要重建索引以构建索引表。...

2022-05-27 22:51:05 394

翻译 CAP理论

Zookeeper基于CP1.Consistency(一致性):对于客户端的每次读操作,要么读到的是最新的数据,要么读取失败。2.Availability(可用性):任何客户端的请求都能得到响应数据,不会出现响应错误。3.Partition tolerance(分区容忍性):大多数分布式系统都分布在多个子网络。每个子网络就叫做一个区(partition)。分区容错的意思是,区间通信可能失败。比如,一台服务器放在中国,另一台服务器放在美国,这就是两个区,它们之间可能无法通信。CAP理论说一个分布.

2022-05-25 22:39:32 68

原创 Leetcode:262 行程和用户

文章目录一、code1.1 题目描述1.2 题解二、总结一、code1.1 题目描述Leetcode地址1.2 题解# Write your MySQL query statement belowselect a.request_at 'Day',round(sum(if(a.status = 'completed',0,1))/count(*), 2) 'Cancellation Rate'from ( select request_at, s

2022-05-25 18:31:48 48

原创 Leetcode:185 部门工资前三高的所有员工

文章目录一、code1.1 题目描述1.2 题解二、总结一、code1.1 题目描述Leetcode地址1.2 题解select dep.name Department, a.name Employee, a.salary Salaryfrom Department dep join (select departmentId, name, salary, dense_rank() over(partition by depa

2022-05-24 13:31:35 843

原创 002.二进制加法

文章目录一、code1.1 题目描述1.2 题解二、总结StringBuffer 和 StringBuilder 类一、code1.1 题目描述Leetcode地址1.2 题解class Solution { public String addBinary(String a, String b) { StringBuilder result = new StringBuilder(); int n = a.length() - 1; int

2022-05-21 17:29:02 66

原创 Leetcode:180 连续出现的数字

文章目录一、code1.1 题目描述1.2 题解二、总结一、code1.1 题目描述Leetcode地址1.2 题解select distinct # 去重 l1.num as ConsecutiveNumsfrom Logs l1, Logs l2, Logs l3where l1.id + 1 = l2.id # 连续三个 and l2.id = l3.id - 1 and l1.num = l2.num # 值相同

2022-05-21 16:12:14 111

原创 001.整数的除法

文章目录一、code1.1 题目描述1.2 题解二、总结一、code1.1 题目描述Leetcode地址1.2 题解class Solution { public int divide(int a, int b) { if(a == 0x80000000 && b == -1){ // 0x80000000为最小int型整数,即-2^31 return Integer.MAX_VALUE; } i

2022-05-19 21:49:14 159

原创 Hive常用函数

文章目录1.自定义UDF、UDTF函数1.1 udf1.2 udtf2.系统函数3. 窗口函数1.自定义UDF、UDTF函数1.1 udf在项目中解析公共字段1.2 udtf在项目中解析事件字段2.系统函数加减日期:date_add、date_subDATE_ADD/DATE_SUB(date,INTERVAL expr type)// date是指定的日期,INTERVAL为关键词,expr是具体的时间间隔,type是时间单位。SELECT DATE_add(NOW(),INT

2022-05-19 10:27:43 54

原创 Leetcode:178 分数排名

文章目录一、code二、知识点rank函数一、codeLeetcode:178 分数排名# Write your MySQL query statement belowselect score, dense_rank() over(order by score desc) as 'rank' # 这个rank之所以要加引号,因为rank本身是个函数,直接写rank会报错from Scores;二、知识点rank函数rank(): 对查询数据进行排序,值相同的排序后序号也会相同,注意r

2022-05-19 10:22:29 92

原创 Leetcode:177 第N高的薪水

文章目录一、code一、codeLeetcode:177 第N高的薪水CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN declare m INT; SET M = N - 1; RETURN ( # Write your MySQL query statement below. select ifnull((select distinct salary as getNth

2022-05-19 09:31:49 72

原创 排序4个by

文章目录1.order by2.sort by3.distribute by4.cluster by5.总结(1) OOM(内存溢出)1.order by全局排序,只有一个Reducer2.sort by分区内有序3.distribute by类似MR中partition,进行分区结合sort by使用4.cluster by当distribute by和sort by字段相同时,可以使用cluster by方式;但排序只能是升序排序,不能指定排序规则为asc或desc在生产环境中or

2022-05-18 19:54:10 162

原创 Hive内部表与外部表的区别

本质是元数据和原始数据删除数据时:  内部表:原始数据元数据全删除。  外部表:只删除元数据。一般绝大部分创建外部表,自己使用的临时表,才会创建内部表。

2022-05-18 19:35:28 58

原创 Hive架构

客户端(jdbc)Hive元数据默认存储在derby数据库(只支持单客户端访问),一般使用mysql数据库(支持多客户端访问)metadata即元数据。包括database、table、column names、partitions信息等元数据信息。元数据默认存储在derby中,建议存储在关系型数据库中。底层驱动引擎(Driver)主要包含:解析器:将sql字符串转换为抽象语法树编译器:生成逻辑执行计划优化器:对逻辑执行计划优化执行器:将逻辑执行计划转成可执行的物理计划Hive ..

2022-05-18 14:34:48 410

原创 Hbase vs RDBMS vs Hive

文章目录1、什么是metedata2、Hbase vs RDBMS vs Hive2.1 OLTP与OLAP2.2 ACID1、什么是metedatametadata即元数据。包括database、table、column names、partitions信息等元数据信息。元数据默认存储在derby中,建议存储在关系型数据库中。2、Hbase vs RDBMS vs HiveHiveMysqlHbase存储数据依赖HDFS本地文件系统;采用行存储模式,底层是binlog

2022-05-18 12:55:15 282

原创 Leetcode176:第二高的薪水

文章目录一、code二、知识点1.ifnull2.limit与offset用法一、codeselect ifnull((select distinct salary from employee order by salary desc limit 1 offset 1), null) as SecondHighestSalary;二、知识点1.ifnullifnull() 函数用于判断第一个表达式是否为NULL,如果为NULL则返回第二个

2022-05-18 11:45:21 99

原创 Leetcode98(验证二叉搜索数)

给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子

2021-08-10 09:37:27 79

原创 Linux服务器用户管理

文章目录1、添加一个新用户2、群组3、权限总结查看命令提示/etc/shadow # 存放密码的位置/etc/passwd # 所有用户登录系统需要的账户信息/etc/group # 组信息1、添加一个新用户adduser -g 组名 -G 附加组名 用户名(常用)useradd 用户名 # 建立用户passed 用户名 # 密码userdel -r 用户名 # 删除用户名 -r:在/home下的主目录一起删除usermod 用户名 # 修.

2021-08-09 09:06:00 339

原创 Linux下安装torch环境全过程

安装导航1、安装anaconda31.1 下载anaconda31.2 安装anaconda31.3 环境配置2、创建虚拟环境3、安装torch torchvision cudatoolkit4、安装pycharm总结解压命令sh与bash的区别:1、安装anaconda31.1 下载anaconda3直接在官网下比较慢,建议使用清华镜像(可以把pip的源也换成国内的,pip install也会快很多)在最近的日期中,选择一个对应自己系统版本的Anaconda3安装包,x86_64表示兼

2021-08-08 20:11:24 15861

原创 Leetcode96(不同的二叉搜索树)

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。示例 1:输入:n = 3输出:5示例 2:输入:n = 1输出:1提示:1 <= n <= 19题解:class Solution {// 动态规划 从小到大public: int numTrees(int n) { if(!n) return 0; // 判断条件 vector<int>

2021-08-06 10:01:47 58

原创 Leetcode95(不同的二叉搜索树 II)

给你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树 。可以按 任意顺序 返回答案。示例 1:输入:n = 3输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]]示例 2:输入:n = 1输出:[[1]]提示:1 <= n <= 8题解:/** * Definition for a binary tree node.

2021-08-05 09:51:46 51

原创 Re-ID数据集介绍

文章目录一、Market1501描述:目录结构命名规则:干扰数据集:二、DukeMTMC-reID描述目录结构命名规则:三、MSMT17_V2描述目录结构一、Market1501论文链接描述:Market1501数据集示例图像。所有图像为128*64。(上)具有独特外观的行人(中)外观相似的行人(下)干扰图像和无用图像共6台摄像机放在校园超市前面,其中包括5台1280*1080高清摄像机和1台720*576 SD摄像机,这些摄像头之间存在重叠,该数据集包含1306个行人的32668个包围框。

2021-07-28 11:10:37 2523

转载 视频结构化设计

原文链接文章目录简介Pipeline1、视频接入2、解码3、目标检测(以及推理)4、目标跟踪5、属性分类(二级推理)6、结果分析7、数据持久化8、图像叠加9、编码 + RTMP推流简介  所谓视频结构化,就是利用深度学习技术对视频进行逐帧分析,解析出视频帧中感兴趣的目标、并且进一步推理出每个目标感兴趣的属性,最后将这些目标、属性保存成结构化数据(能与每帧关联起来)。如果是实时类应用,要求实时看到分析结果,那么整个过程要求能做到实时性,比如单路视频分析保证FPS能达到原视频的FPS(常见是25)。当然,

2021-07-27 14:33:49 2163

转载 注意力机制SimAM(SimAM: A Simple, Parameter-Free Attention Module for Convolutional Neural Networks)

论文链接转载目录1、摘要:2、注意力机制比较:3、SimAM:4、实验结果1、摘要:在不增加原始网络参数的情况下,为特征图推断三维注意力权重1、提出优化能量函数以发掘每个神经元的重要性2、针对能量函数推导出一种快速解析解,不超过10行代码即可实现。2、注意力机制比较:   不同注意模块的结构设计和参数比较。运算符有:空间(GAP)或通道平均池化(CAP)、空间(GMP)或通道最大池化(CMP)、沿空间维度计算的标准偏差(GSP)、标准卷积(C2D)或基于通道的卷积(C1D)、标准(FC)或通

2021-07-22 14:17:42 23804 8

原创 Leetcode105(从前序与中序遍历序列构造二叉树)

给定一棵树的前序遍历 preorder 与中序遍历 inorder。请构造二叉树并返回其根节点。示例 1:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]示例 2:Input: preorder = [-1], inorder = [-1]Output: [-1]/** * Definition for a binary tree node. * struct

2021-07-19 20:34:11 59

原创 Leetcode124(二叉树中最大的路径和)

路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。示例 1:输入:root = [1,2,3]输出:6解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6示例 2:输入:root = [-10,9,20,null,null,15,7]输出

2021-07-19 20:30:02 73

原创 数据处理工具_torch.utils.data

torch.utils.data.p64文章目录torch.utils.data.一、Dataset二、DataLoader三、random_split四、*sampler1.引入库2.读入数据总结一、Dataset二、DataLoader三、random_split四、*sampler1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as

2021-07-19 20:10:37 206

空空如也

空空如也

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

TA关注的人

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