自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode刷题-[20]有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出:true思路首先我们维护一个ma

2021-09-12 23:54:38 230

原创 leetcode刷题-[19]删除链表的倒数第 N 个结点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。**进阶:**你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]思路1删除链表的倒数第 n 个结点,可以联想到 倒数第n个节点和链表结束的null节点是一个 “窗口”,知道这一点我们维护这个窗口就好了因为涉及到了 修

2021-09-12 23:53:45 250

原创 leetcode刷题-[17]电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]示例 3:输入:digits = "2"输出:["a","b","c"]思路题目中说的是组合,可以采用回溯法的方法来解答,但是有

2021-09-12 23:53:07 225 1

原创 leetcode刷题-[15]三数之和

给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 *a,b,c ,*使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。**注意:**答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]思路将三数之和固定首位的一个数看做target,就转换为了和两数之和

2021-09-07 23:23:41 152

原创 leetcode刷题-[14]最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。思路prefixStr = strs[0] 作为题目结果然后同其他str去比较,如果不是其他字符串的公共前缀,就将prefixStr 末尾左移一位,这样一直判断,知道符合条件同理继续判断下

2021-09-07 23:17:52 114

原创 leetcode刷题-[13]罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况

2021-09-07 23:15:47 89

原创 leetcode刷题- [3]无重复字符的最长子串

前言好久没有做题了,先来无聊随便把以前做过的题目做一遍,之前也没有总结,所以这次就持续总结喽,写点思路。给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。思路abcabcbb维护一个i 和 j 指针,以及一个set

2021-09-07 23:14:14 90

原创 关于维度建模中维度表的一些设计细节(持续更新)

维度表的层次维度表进行一定的降维,一般情况加有一定的冗余是可以接受的。维度表应该设计成多层次的,方便下钻维度表中的数字列一些数字类型 应该 依据具体的业务来判断其是否归入维度属性的分类。 比如一些商品的标准价格,可以用于计算以及过滤,分组等功能,这个和事实表中的商品标准价格在意义上是不同的: 事实表中的标准价格表示销售事物的价格,而维度属性则标记为当前情况的标准价格。维度表中的空行,空值对于营销方面的维度表来说:例如优惠券等,因为事实表中可能会存在未参加促销的商品,所以应当在优惠券维度

2021-09-04 23:27:39 459

原创 Prometheus:浏览器报错:Error on ingesting samples that are too old or are too far into the future

Error on ingesting samples that are too old or are too far into the future查看日志报错 Error on ingesting samples that are too old or are too far into the future去UI上查看:last Scrape 这是指最近上一次采集的时间,出现这个报错后,这个采集时间会很大首先检查各节点服务器的时间,将时间同步重启prometheus总结:由于本人用的是虚

2021-09-01 11:49:42 1826

原创 行存储 VS 列存储

概述目前大数据存储有两种方案可供选择:行存储(Row-Based)和列存储(Column-Based)。业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全、可靠、完整性。从目前发展情况看,关系数据库已经不适应这种巨大的存储量和计算要求,基本是淘汰出局。在已知的几种大数据处理软件中,Hadoop的HBase采用列存储,MongoDB是文档型的行存储,Lexst是二进制型的行存储。什么是列存储?列式存储(column-based)是相对于传统关系型数据库的行式存储(Row-b

2021-09-01 11:47:12 183

原创 工作中常用的Linux命令(持续更新)

查看默认的java垃圾回收器jinfo -flag -XX:+PrintcommandLineFlags 进程ID根据端口抓包tcpdump -i eth0 tcp port 4347 -XX -vv >> dump.outLinux 常用高级命令序号 命令 命令解释top 查看内存df -h 查看磁盘存储情况iotop 查看磁盘 IO 读写(yum install iotop 安装)iotop -o 直接查看比较高的磁盘读写程序netstat -tunlp | gr

2021-09-01 11:41:07 5259

原创 Mysql数据库数据目录迁移

1. 停掉 MySQL 服务service mysqld stop2. 确认迁移目录mkdir -p /data/mysql3. 把 data 目录拷贝到目标目录 / datacp -aR /opt/mysql/data /data/mysql/data4. 修改权限 (mysql 的运行账户为 “mysql“用户),否则 MySQL 启动会报错:chown -R mysql.mysql /data/mysql5. 修改 MySQL 配置文件, 将 data 目录修改至新分区:vi

2021-09-01 11:37:16 603

原创 Hive中的排序

全局排序( Order By)Order By: 全局排序, 一个 Reducer使用 ORDER BY 子句排序ASC( ascend) : 升序( 默认)DESC( descend) : 降序ORDER BY 子句在 SELECT 语句的结尾set hive.mapred.mode=nonstrict; (default value / 默认值)set hive.mapred.mode=strict;order by 和数据库中的Order by 功能一致,按照某一项 &a

2021-09-01 11:33:07 1278

原创 zookeeper的一些总结

什么是zkZookeeper是分布式应用程序的协调服务框架,是Hadoop的重要组件。ZK要解决的问题:分布式环境下的数据一致性。分布式环境下的统一命名服务分布式环境下的配置管理分布式环境下的分布式锁统一集群管理6.软负载均衡​ 软负载均衡指的是,zk记录了管理的服务中的cnt,每次都会将请求分发到cnt最小的那个服务节点。实现了软负载均衡zk的工作机制server会在zk上注册节点,创建的一般都是临时节点Client会在连接上zk后获取serve

2021-08-23 18:23:53 330

原创 spark源码解读-stage,task等划分

如何划分stagedef dataAnalysis() = { val lines = wordCountDao.readFile("datas/word.txt") val words: RDD[String] = lines.flatMap(_.split(" ")) val wordToOne = words.map(word=>(word,1)) val wordToSum: RDD[(String, Int)] = wordToOne.reduceByKey(_+_)

2021-08-23 18:21:27 328

原创 macbook pro 雷电3接口不能充电的问题

前言最近都是用自己的电脑,今天来公司照常将设备放置好插上电源,发现充不了电了,起初以为是插板断电了。后来发现是右边第2个雷电3接口充电失灵了。。都打算好找售后的准备了,然后恰好翻到一个帖子,还真解决了。。所以记录一下。解决方案先确定线和充电器是好的试了一下u盘没有问题,鼠标也没有问题,转接口没问题,目前就是不能充电。上面2条前提保证下,关机,然后等待15秒,按住 control+option+shift+电源键 开机。总结现在的苹果笔记本搭载一颗T2的安全保护芯片。这个情况,很大程度是属

2021-07-27 10:18:56 9319

原创 zookeeper节点故障之Unable to load database on disk

前言今天在使用自己搭建的虚拟机测试时,发现3台zookeeper中有一台起不来,具体情况如下:故障节点$ZK_HOME/bin/zkServer.sh start ZooKeeper JMX enabled by defaultUsing config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfgStarting zookeeper ... STARTED但是jps查看进程的时候没有,其他2台是正常的。查看zk的日志发现:2021-

2021-05-10 12:03:39 690

原创 java之ThreadLocal原理总结

前言多线程访问同一个共享变量时特别容易出现并发问题,特别是在多个线程需要对一个 共享变量进行写入时。为了保证线程安全,一般使用者在访问共享变量时需要进行适当的同步同步的措施一般是加锁,这就需要使用者对锁有一定的了解,这显然加重了使用者的 负担。那么有没有一种方式可以做到,当创建一个变量后,每个线程对其进行访问的时候访问的是自己线程的变量呢?其实 ThreadLocal就可以做这件事情,虽然 ThreadLocal并不是为了解决这个问题而出现的。ThreadLocal简介和使用ThreadLocal是

2021-03-05 11:28:03 1758 1

转载 JAVA 栈,为什么要使用Deque,而不推荐使用Stack,Deque中ArrayDeque与LinkedList的区别,Deque方法详解

站在大佬的肩膀看世界。转载链接:https://blog.csdn.net/qq_44013629/article/details/106461200 ArrayDeque , LinkedList , Stack的关系差不多就是下图那样 Stack实现了Vector接口,LinkKist实现了Deque,List接口,Arra

2021-03-02 15:41:18 1615 1

原创 Linux之RAID技术学习整理

前言RAID 技术是一种多磁盘技术,今天站在其他博主的肩膀上学习一下 RAID,主要将一些重点知识总结整理了一下,方便自己以后查阅。这里感谢一下相关博主,能让我站在肩膀上看世界。参考链接:https://www.cnblogs.com/oneasdf/p/9367152.htmlhttps://www.jianshu.com/p/a244350bbf82https://www.prepressure.com/library/technology/raidRAID是什么?解决了什么问题?RAID

2021-03-01 11:02:49 263

原创 leetcode刷题-[42]接雨水

题目给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。code/** * @param height * @return * 当前柱子如果小于等于栈顶元素,说明形不成凹槽,则将当前柱子入栈;反之若当前柱子大于栈顶元素

2021-02-28 00:45:20 205

原创 Flink1.12 SQL连接器之JDBC Connector介绍与使用总结

前言与DataStream同样,官方在Flink SQL上也提供了很多连接器,今天来学习总结一下JDBC连接器环境准备如果使用编码,需要引入两个依赖包,Flink提供的jdbc连接器依赖和和对应的mysql驱动包,以下为1.12.0 提供的jdbc连接器依赖<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-jdbc_2.11</art

2021-02-08 11:13:23 5144 3

原创 Hive SQL之如何在row_number()等窗口函数中加where条件?

前言能翻到这篇博文的,想必大家对窗口函数的基本使用已经有了一定的了解,这里就不废话再去多说了。这篇博文主要讲的是,如果在窗口函数中加入where条件。为了方便理解,以下案例使用排名函数:row_number()来讲解。其他窗口函数同理,大家举一反三。本文你可以学习到:使用UNION ALL分之而治解决本问题使用窗口函数中的一个小技巧解决本问题 (简单高效)案例我们如果要对一组数据根据某个列去排名,一般会使用row_number(),但是如果我们要对某个列符合条件的才去row_number

2021-01-29 01:02:56 9579 2

原创 Flink本地Web UI报错:Could not start rest endpoint on any port in port range 8081

前言Flink使用Web UI可以方便本地调试,基本使用如下:pom添加<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-runtime-web_${scala.version}</artifactId> <version>${flink.version}</version></dependency>代码中

2021-01-26 15:26:15 7173 7

原创 docker搭建单机elasticsearch

前言如果只是回了开发测试,本地搭建一个单机ES是一个不错的选择,本文总结了如何搭建单机版的ES并测试。环境:mac os 10.15.7docker Docker version 20.10.2, build 2291f61elasticsearch : 7.6.2搭建步骤下载镜像docker pull elasticsearch:7.6.2这里要注意,一定要指定具体版本。准备基本环境在宿主机创建 /opt/workspace/work/es/single/,路径根据自己的具

2021-01-25 12:07:25 1143 2

原创 Spark报错:Caused by: java.lang.IllegalArgumentException: Compression codec com.hadoop.compression.lzo.

问题在安装完Hadoop Lzo后。进入spark-sql shell 正常,但是执行查询语句时候,抛出:Caused by: java.lang.IllegalArgumentException: Compression codec com.hadoop.compression.lzo.LzoCodec not found.解决方案原因:在hadoop中配置了编解码器lzo,所以当使用yarn模式时,spark自身没有lzo的jar包所以无法找到。这是因为在hadoop 的core-site.xm

2021-01-24 20:41:46 1098 3

原创 SQL优化之使用数学的方式动态的确定区间并统计02

前言今天在群里看到了一个小伙伴提的一个sql需求:把一列分为10个区间,按最大值和最小值去分区间,然后统计区间数据量。emmm,感觉和之前的那篇文章很像,但又有些许不错,而且他这个场景应用更频繁,所以总结一波。本文主要分为:一般的分段区间统计;指定步长的分段区间统计;动态计算步长的分段区间统计分段区间一个区间的包含左边界和右边界,比如[0,10),[10,20),…,[90,100).如上,是一组左闭有开的区间,步长gap为10。一般写法如下,可能我们会得到如下SQL:selec

2021-01-24 19:16:03 1276 1

原创 mac os活动监视器,只有名称没有具体信息的原因

问题mac 突然点什么都转圈圈,想去监视器看看哪个进程占用cpu,结过点进去发现,活动监视器只显示了名称,其他占用内存,cpu等信息都没有了。如下:解决方案自己手贱不知道哪天把第一个进程名称宽度调整太大了。。。坑爹找了半天问题。直接右滑,把这个进程名称的宽度调整拉小点就好了。。总结浪费时间浪费精力。。。。...

2021-01-24 14:42:08 400 2

原创 Hive SQL的数仓迁移成Spark SQL,之前的UDF函数怎么办?

前言离线数仓之前的主力工具是hive,有一些处理需要写udf实现,当hive sql迁移成spark sql时。之前的udf函数该怎么办呢,本文为自测并总结。结果写在前面,hive jar包可以直接复用,不用重新编写。环境: spark2.11,hive2.3.6,hadoop2.7.2解决方案首先,hive的元数据一般生产我们都会存在mysql当时,所以设想:spark on hive也是使用hive的元数据,可以看到hive的表,那如果将hive的udf注册成hive的永久函数,spark o

2021-01-24 14:17:38 621

原创 Flink1.12新特性之Flink SQL中时态表(Temporal Tables)说明和总结

前言Flink 1.12正式发布后,带来了很多新的特性,本文重点学习和总结一下Flink 1.11和 Flink1.12中时态表的使用和自己的一个小总结,文章如有问题,请大家留言交流讨论,我会及时改正。本文主要将在Flink1.12中新的时态表的一些新的概念和注意事项,如何在Join中使用会在之后另一个篇文章中具体讨论。Flink中的时态表的设计初衷首先,大家需要明确一个概念,就是传统SQL中表一般表示的都是有界的数据,而直接套用于流计算这样源源不断的数据上是存在问题的,所以在Flink SQL中,

2021-01-24 02:02:12 2685 3

原创 SQL优化之使用数学的方式优化SQL编码01

前言笔者最近工作大多写sql为主。所以在此记录一下工作中遇到的问题和解决方案。今天先写上一篇,之后也会将这类似的方法总结下来,发表在这里。在特定场景下如何利用数学优化SQL编码直接拿最近的一个需求举例,楼主习惯先写自己原先的笨方法,也是大多数人一下子就能想到的方法,然后在去写改进的方法。好了,说下具体需求:轻度汇总后的数据涉及到了标签打分。根据某列(数值型)的范围进行划分并打上相应的标签,并用该标签与标签评分表关联拿到评分。看完需求后,简单啊,开搞。为了方便,以下数据都用一个标签来讲。

2021-01-05 00:06:21 192 1

原创 Flink Kafka Connector介绍和使用(DataStream and Table)

前言Flink提供了一个Apache Kafka连接器,我们可以很方便的实现从Kafka主题读取数据和向其写入数据。Flink附带了提供了多个Kafka连接器:universal通用版本,0.10,0.11官方文档解释说universal(通用版本)的连接器,会尝试跟踪Kafka最新版本,兼容0.10或者之后的Kafka版本,官方文档也说对于绝大多数情况使用这个即可。在最新的官方文档上有这个通用版本连接器的迁移介绍:Migrating Kafka Connector from 0.11 to uni

2020-12-31 10:14:48 922

原创 java之并发包中的原子类

前言为了避免多线程下由于操作的原子性产生的安全问题,在JDK中的JUC包下提供了一系列使用非阻塞CAS算法实现的原子性操作类,相比使用锁实现的原子性减少了线程的上下文切换,在性能上有了很大的提高。本文将总结一下JUC下面的一些典型类。原子变量操作类在JUC包下,有许多原子性操作类,如图:里面有 AtomicInteger,AtomicLong,AtomicBoolean,AtomicLongArray等,因为原子性操作的实现逻辑类似,所以本文将总结逻辑相对简单的AtomicLong。Atomi

2020-12-31 10:13:14 205

原创 Java之Random和ThreadLocalRandom

前言在JDK7之前,java.util.Random都是使用比较广泛的随机数生成类,但是在多线程下的缺陷,也让JDK7之后再JUC包下新增了ThreadLocalRandom。Random相关先从源码的角度来看看java.util.Random类的使用方法:// 构造函数1:public Random() { this(seedUniquifier() ^ System.nanoTime());}// 构造函数2:public Random(long seed) { if (getC

2020-12-31 10:07:41 357 1

原创 java之并发包中的LockSupport类

前言JDK中的JUC下包含了各种锁,而实现锁的AQS等中使用了LockSupport这个工具类,所以在学习其他源码之前,很有必要去了解一下LockSupport工具类的原理。LockSupport相关LockSupport类是JDK中rt.jar包下面的一个工具类,它的主要作用是挂起和唤醒线程。该工具类是创建锁和其他同步类的基础。可以这么理解,LockSupport类与每个使用他的线程会关联一个许可证,在默认情况下条用LockSupport类的方法的线程是不持有许可证的。LockSupport是使用

2020-12-31 10:05:47 342

原创 数据仓库及维度建模的初步了解

前言笔者在工作刚接触这部分知识的时候,翻阅了各种文档想要到一个比较通俗的理解数据仓库相关的介绍或是理解。之前只是在工作涉及数仓这块的一些业务,理论上有一定的缺失,所以最近准备刷一刷《数据仓库工具箱》这本书,顺便就将读完的一些理解和知识点在简书这边记录下来,算是对自己未来学习计划的一个鼓励和督促。笔者是个渣渣,如有理解上的错误或者偏差,希望大家指点出来,互相学习讨论。本文的目的主要是介绍数据仓库等一些概念或者是一些理解,所以涉及到一些资料,就直接附链接了。。数据仓库和商业智能基本概念的初步了解在

2020-12-25 10:35:09 901

空空如也

空空如也

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

TA关注的人

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