自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 资源 (5)
  • 收藏
  • 关注

原创 哈希MurmurHash算法详解

文章目录一、哈希函数定义特点应用常见哈希算法二、murmurhash定义特点应用介绍三、MurmurHash使用四、性能测试MurmurHash:(multiply and rotate) and (multiply and rotate) Hash,乘法和旋转的hash 算法。一、哈希函数定义散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合

2021-09-24 08:39:09 12164

原创 hive 窗口函数

文章目录sum,avg,min,max 函数row_number,rank,dense_rank,ntile 函数lag,lead,first_value,last_value 函数grouping sets,grouping_id,cube,rollup 函数在sql中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的。但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数。

2021-08-30 11:48:15 481

原创 shell命令执行顺序

command1 ; command2 --两条命令,连续执行,command2不需要考虑command1的结果command1 && command2 --command1执行没有出错(即回传值为0),command2才执行command1 || command2 --command1执行出错才执行command2

2021-07-19 17:19:01 545

原创 Hive增加固定列

需求同时查出各部门的工资以及公司的总工资with a as ( select sum(sal) `total sal` from tb_emp)select deptno, sum(sal) over (distribute by deptno), a.`total sal`from tb_emp,a;±-----±----±--------+|deptno|c1 |total sal|±-----±----±--------+|NULL |NULL |

2021-06-24 12:10:39 397

原创 group by后面不能使用列的别名分析

文章目录复现解决复现select deptno `dept`, year(hiredate) `year`, sum(sal)from tb_empgroup by deptno,year;org.apache.hadoop.hive.ql.parse.SemanticException:Line 5:16 Invalidtable alias or column reference ‘year’: (possible column names are:empn

2021-06-24 12:03:53 206

原创 [Hadoop]数据复制distcp vs cp

1.需求我们项目中需要复制一个大文件,最开始使用的是hadoop cp命令,但是随着文件越来越大,拷贝的时间也水涨船高。下面进行hadoop cp与hadoop distcp拷贝时间上的一个对比。我们将11.9G的文件从data_group/adv/day=20210526下所有文件复制到tmp/data_group/adv/day=20210526/文件下1.1 查看文件大小hadoop fs -du -s -h data_group/adv/day=2021052611.9 G data_gr

2021-05-27 15:07:07 1343

原创 hive group by | distinct区别以及性能比较

文章目录Hive去重统计实际论证DistinctGroup by小结结论Hive去重统计去重方式:DistinctGroup by实际论证order_snap为订单的快照表 总记录条数763191489,即将近8亿条记录,总大小:108.877GB,存储的是公司所有的订单信息,表的字段大概有20个,其中订单号是没有重复的,所以在统计总共有多少订单号的时候去重不去重结果都一样,我们来看看:统计所有的订单有多少条条数,一个count函数就可以搞定的sql性能如何。Distinctselec

2021-03-30 20:43:37 513

原创 磁盘挂载工程师

文章目录关键命令一、检查挂载盘二、开始操作关键命令# 查看可用块lsblk -f# 硬盘分区工具,对/dev/nvme0n1硬盘执行分区操作,执行: [n] [p] [1] [] [] [w]fdisk /dev/nvme0n1# 格式化分区的文件系统为xfsmkfs.xfs /dev/nvme0n1p1# 修改分区的目录挂载(系统启动时会自动加载这个文件挂载)vim /etc/fstab# 刷新挂载数据mount -a# 查看挂载成果df -h一、检查挂载盘(1)执行 df

2020-12-18 17:46:27 784 2

原创 Spark读取数据及保存数据

文章目录创建SparkSession读取数据jdbcjsoncsvparquet保存数据创建SparkSessionsparkSQl 可以读取不同数据源的数据,比如jdbc,json,csv,parquet执行读操作就用sparkSession.read.文件类型,执行写操作就用SparkSession.write.文件类型首先创建一个SparkSession:val spark = SparkSession.builder().appName("load data") .master

2020-06-15 18:01:31 955 1

原创 hive join on 条件 与 where 条件区别

文章目录背景业务场景结论背景最近项目组上,来了几个实习生,对 Hive sql 的 join 的使用不是很熟悉,几个人写出来的sql 看上去感觉都是一样的,但结果可能会出现,扫描全表,耗时过久,造成数据有所有差异业务场景根据常见的场景,写了几条sql ,看 on 和 where 的作用域 ,查询 事实表 a 中的在 20200602 这天的数据,维度表 b对于上述的这种需求 ,有可能会出现下列这几种sql1. select * from a left join b on a.id = b.

2020-06-02 10:41:47 2266

原创 Hive 删除操作

文章目录删除库强制删除库删除表清空表删除分区按条件删除数据删除库drop database if exists db_name;强制删除库drop database if exists db_name cascade;删除表drop table if exists employee;清空表truncate table employee;清空表,第二种方式insert o...

2020-03-30 14:04:50 1191

原创 hive SQL COALESCE 函数

文章目录COALESCE函数使用实例COALESCE函数COALESCE是一个函数, (expression_1, expression_2, …,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。比如我们要登记用户的电话,数据库中包含他的person_tel,home_tel,office_tel,我们只要取一个...

2020-03-11 14:35:22 4815

原创 Lambda架构

文章目录1.背景2.为什么要用 Lambda Architecture3.组成3.1 Batch Layer3.2 Speed Layer3.3 Serving Layer4.Lambda Architecture的收益1.背景Q : 大数据系统的关键问题:如何实时地在任意大数据集上进行查询A : 最简单的方法是,直接在全体数据集上运行查询函数得到结果,但是这种方法的计算代码太大,所以不现实...

2020-01-08 14:44:25 163

原创 docker中vi后按键混乱的bug

docker下安装vi,按方向键变成了输入 A B C D,解决方案:echo "set nocompatible" >~/.vimrcecho "set backspace=indent,eol,start" >>~/.vimrcecho "set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936" >>...

2019-12-26 13:37:31 654

原创 复制不能转载的文章

1.在chrome下禁用js可复制文章, 操作如下2.用Chrome打开要复制的页面,按顺序 F12 – F1 – 在最下面的 Debugger 里面点选 Disable JavaScript,即时生效,直接复制。...

2019-06-12 18:09:26 383

原创 简化跳板机操作

公司机器需要经由跳板机登录,这造成了以下日常操作变得繁琐两次登录: 需要先登录跳板机,再由跳板机登录目的机器拷贝文件: 需要先拷贝到跳板机,再由跳板机拷贝到目的机器(或本地)查看集群内web服务: 需要登录远程桌面,在远程桌面浏览器中使用本文将介绍一些ssh使用技巧,使得跳板机对用户透明,简化日常操作Prelude(需自行配置免密登录)无密码登录将自己的public key写入目标机...

2019-06-05 11:18:55 1087

原创 shell 脚本string的替换

1. 基本的替换:s/vivian/sky/替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所有 vivian 为 sky:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 skyn,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky(n 为数字,若 n 为...

2019-03-25 17:41:41 3772

原创 concat拼接字段注意躲避空值坑

select concat(t1.clo1,t1.clo2,t1.clo3) from tableName t1;select concat(nvl(t1.clo1,''),nvl(t1.clo2,''),nvl(t1.clo3,'')) from tableName t1;如果三个字段都不为空,可以直接使用第一个语句获取拼接字段若三个字段中包含空值,则使用第一个语句获取的拼接字段为空值,...

2019-01-17 16:28:07 8968

原创 linux流量分析

目录1.案例分析2.命令详解1.案例分析查看流量端口号sudo iftop -i -P n-> 显示主机ip和主机名 N-> 显示端口号或者端口服务名称 P-> 暂定或者继续根据端口号查询进程netstat -nap | grep port查看进程信息:ps -aux | grep pid2.命令详解2.1 iftop2.1.1 运行if...

2019-01-02 15:10:01 1905

原创 shell时间操作

备忘录Linux下时间转换的一些命令:date +%s 可以得到UNIX的时间戳;用shell将日期时间与时间戳互转:date -d “2015-08-04 00:00:00” +%s 输出:1438617600而时间戳转换为字符串可以这样做:date -d @1438617600 “+%Y-%m-%d” 输出:2015-08-04如果需要得到指定日期的前后几天:...

2018-12-12 17:53:15 726

原创 Docker 部署RabbitMQ

目录:1.简介2.部署RabbitMQ3.启动RabbitMQ4.实操消费1.简介该实例为了巩固docker知识参照 https://blog.csdn.net/weixin_39617052/article/details/797238492.部署RabbitMQ3.启动RabbitMQ4.实操消费...

2018-12-04 11:16:53 1324 1

原创 Hive中count,sum的使用

目录1.简介2.count,sum使用区别3.实操1.简介在日常的工作中,总避免不了统计总数,Hive中常用的统计有两个函数count sum 可以在count,sum中里使用case when、distinct等处理,满足日常数据统计需求。2.count sum使用区别2.1 count统计有效行(非null)select count(*) from tmp.stu ...

2018-11-27 16:43:52 25953 1

原创 Docker 容器镜像删除命令

目录1.简介2.实操1.简介在操作Docker的过程中,常常发现启动命令 --name=do 时发现该名字已被占用,但是我已经用stop dockerId这个命令去停止该容器, 最终还是要在docker ps -a中查询不到该容器才启动,因此记录下相关操作2.实操1.停止所有的container,这样才能够删除其中的images:[root@au opt]# docker stop...

2018-11-22 17:30:04 9154

原创 Docker commit使用并提交到公共库

目录:1.简介2.实操1.简介我们运行的容器可能在镜像的基础上做了一些修改,有时候我们希望保存起来,封装成一个更新的镜像docker自己提供的有commit功能2.实操我们以centos为例,现在我们要在一个裸的centos上面安装vim编辑器,并且把这个功能保存下来,封装成一个能执行vim命令的centos镜像拉去最新centos镜像:[root@ru ~]# docker p...

2018-11-22 17:07:52 1286 1

原创 Docker目录挂载(Volume)

目录1.简介2.Data volume (数据卷)3.使用 data container (container )1.简介默认情况下,容器不使用任何 volume,此时,容器的数据被保存在容器之内,它只在容器的生命周期内存在,会随着容器的被删除而被删除。当然,也可以使用 docker commit 命令将它持久化为一个新的镜像。很多情况下我需要数据持续化保存.2.Data volume...

2018-11-22 16:39:21 7013 5

原创 shell 脚本string的截取

目录:string 的字符串的截取1. string 的字符串的截取str="test1 \t test2 \t test3" [~]$ echo ${str#*\t} str=${str#*substring}:从左向右截取第一个substring 之后的字符串 test2 \t test3[ ~]$ echo ${str#...

2018-11-14 10:34:22 354

原创 foreachPartition和mapPartitions的区别

目录1.Transformation与Action2.foreachPartition 与 mapPartitions3.1.Transformation与Actionspark的运算操作有两种类型:分别是Transformation和Action,区别如下:Transformation:代表的是转化操作就是我们的计算流程,返回是RDD[T],可以是一个链式的转化,并且是延迟触发的。...

2018-11-12 14:56:38 1543 2

原创 order by,sort by, distribute by, cluster by作用以及用法

目录order bysort bydistribute by和sort by一起使用cluster by###1. order by###2. sort by###3. distribute by和sort by一起使用###4. cluster by

2018-10-29 13:54:55 750

原创 累加器

目录 1.累加器简单使用 2.累加器异常 3.自定义累加器1.累加器简单使用Spark内置的提供了Long和Double类型的累加器。下面是一个简单的使用示例,在这个例子中我们在过滤掉RDD中奇数的同时进行计数,最后计算剩下整数的和。/** * @Auther: chenyj * @Date: 2018/9/7 14:23 * @Description: ...

2018-09-07 15:33:11 4169

原创 Hive-自定义UDF

简介 实现自定义的UDF需要编写Java程序,然后在Hive客户端中加载相关Jar并注册函数后就可以使用了。示例:实现转化IP地址为二进制格式import org.apache.hadoop.hive.ql.exec.UDF;import org.apache.hadoop.io.Text;public final class IPUnMasker extends UDF {...

2018-08-26 20:42:46 346

原创 窄依赖和宽依赖

目录:一.简介 二.区别 三.stage划分一.简介Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系。针对不同的转换函数,RDD之间的依赖关系分类窄依赖(narrow dependency)和宽依赖(wide dependency, 也称 shuffle dependency)二.区别窄依...

2018-07-23 14:07:55 11543

原创 spark推测执行(填坑)

1、spark推测执行开启设置 spark.speculation=true即可额外设置1. spark.speculation.interval 100:检测周期,单位毫秒;2. spark.speculation.quantile 0.75:完成task的百分比时启动推测;3. spark.speculation.multiplier 1.5:比其他的慢多少倍时启动推测。2...

2018-07-17 16:13:09 1595

原创 Spark中repartition和coalesce的区别和用法

目录:一.区别 二.使用 三.总结一.区别repartition(numPartitions:Int):RDD[T] coalesce(numPartitions:Int,shuffle:Boolean=false):RDD[T]他们两个都是RDD的分区进行重新划分,repartition只是coalesce接口中shuffle为true的简易实现,(假设RDD有N个分区,需...

2018-07-13 11:15:40 5795

原创 IDEA类和方法注释模板设置

IDEA自带的注释模板不是太好用,我本人到网上搜集了很多资料系统的整理了一下制作了一份比较完整的模板来分享给大家,我不是专业玩博客的,写这篇文章只是为了让大家省事。这里设置的注释模板采用Eclipse的格式,下面先贴出Eclipse的注释模板,我们就按照这种格式来设置:类注释模板: /*** * @ClassName: TestType * @Des...

2018-07-09 09:25:00 8218

原创 linux下检测脚本

目录:一.准备数据 二.监控多台机器是否存活 三.多台机器同步依赖包一.准备数据1.1 /opt/all/bigdata/ 存在一下目录 /config --配置文件 /iplist --ip列表 /jar --额外的依赖包 /mysql-connector-java-5.1.6.jar --需要同步的依赖包 /log...

2018-07-04 15:44:30 805

原创 脚本调试sh -x xx.sh、set -x

目录一.简介 二.sh -x 脚本名.sh 三.set -x一.简介使用sh -x调试shell脚本 “-x”选项可用来跟踪脚本的执行,是调试shell脚本的强有力工具。“-x”选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个”+”号。 “+”号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 ...

2018-07-04 10:06:02 21178

原创 SpringBoot(五):自定义属性获取

Spring Boot系列 SpringBoot(一):Quick start SpringBoot(二):多环境切换 SpringBoot(三):Respond封装 SpringBoot(四):统一异常处理目录 一.全局配置文件配置属性 二.获取单一属性 三.映射Bean属性 四.测试...

2018-05-29 11:22:49 3815 1

原创 SpringBoot(六):统一异常入库处理

Spring Boot系列 SpringBoot(一):Quick start SpringBoot(二):多环境切换 SpringBoot(三):Respond封装 SpringBoot(四):统一异常处理目录一.简介 二.创建数据库表 三.创建ErrorUtil工具类 四.请求测试一.简介项目上线后,对于项目报错后,我们只能通过查看服务器的日志,但是对于...

2018-05-29 11:04:17 4162

原创 SpringBoot(四):统一异常处理

Spring Boot系列 SpringBoot(一):Quick start SpringBoot(二):多环境切换 SpringBoot(三):Respond封装目录一.简介 二.创建ExceptionHandlerAdvice 三.请求测试一.简介我们所开发的应用大多是直面用户的,程序中的任何一点小疏忽都可能导致用户的流失,而程序出现异常往往又是不可避...

2018-05-29 10:40:42 4209

原创 SpringBoot(三):Respond封装

Spring Boot系列 SpringBoot(一)Quick start SpringBoot(二)多环境切换目录一.简介 二.Respond封装 三.请求测试一.简介在实际的开发过程中,我们会面临着服务接口调用,接口中返回的数据格式各种,没有一个统一的标准,会造成在前端和后端,后端与后端数据对接的过程中出现各种数据格式异常,所以有必要对数据处理有有一定的状...

2018-05-28 17:33:41 2926

bouncycastle.zip

java实现 OCSP协议请求验证证书状态 (可验证苹果P12证书) 附带java代码Demo,可直接使用

2021-10-26

ejbcawebjar.zip

里面是通过java链接自己搭建好的ejbcaweb服务,并通过代码实现证书的申请,撤销,查询等等(备注:需要修改src目录下的TestEjbca里面的superadmin.p12地址和对应的密码)

2021-09-23

jdk完整源代码(jvm,native,sun)

jdk完整源代码 sun包源 jvm源 n ative关键字修饰的java方法源 rt.jar nio misc 等等 几乎我们能想到的都包含进来了 sun包不太好找jdk\jdk\src\share\classes路径贴出来 供学习使用

2020-12-21

JAVA核心面试知识整理

JAVA核心面试知识整理

2020-12-18

ISO3166-2:CN 中国地区代码数据库文件

可方便的导入到数据库中 ISO3166-2 中国地区代码数据库文件,分隔符文本文件

2020-12-18

空空如也

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

TA关注的人

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