自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用Spark写入Mysql的特别注意事项

spark写入mysql的特别注意事项!!!

2022-12-19 19:32:22 502 1

原创 关于flink的转送门

存放一些有用的链接,后期链接多了会统一归一下类

2021-12-08 10:34:58 1235 4

原创 数仓理论(简单的总结一下)

一直想抽个时间想把学过的知识点再巩固一下,毕竟知识点这玩意儿,稍微不复习就会丢掉什么是数据仓库数据仓库是指具有主题导向、整合性、长期性与稳定性的数据群组,是经过处理整合,且容量特别大的关系数据库,用以储存决策支持系统所需的数据,供决策支持和数据分析使用。四大特性主题性:针对特定场景 抽象出数据 单独分析一个相关的领域集成性:数据仓库中的大部分数据源于传统的数据库。数据”在进入数据仓库之前必须经过抽取、清洗、转换才能生成从面向事务转而面向主题的数据集合。稳定性:数据仓库的数据主要用于决策分析

2021-12-06 15:41:24 519 2

转载 简单认识一下C++中的vector

一、什么是vector?向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。二、容器特性1.顺序序列顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。2.动态数组支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作。提供了在序列末尾相对快速地添加/删除元素的操作。3.能够感知内存分配器的(Allo

2021-12-03 09:25:36 399

原创 vscode配置远程连接linux

相关环境:centOS,vscode前言先给小伙伴们踩个坑,哈哈哈首先需要去官网上下载一个vscode本地环境是在mac上操作的下载插件我下载的是这个下载完之后,右侧会出现一个小电脑的标志(如果没有的话,可以重启一下vscode看看相关配置点进那个小电脑标志,然后点击设置键然后继续点击如图第一个配置接下来就是如图输入相关信息,需要其他配置的具体可以看链接记得保存一下远程连接按照上面的步骤来,可以发现此刻右边多了个小电脑点击小电脑右边的带“+”的小按钮,可以打开一个新的页

2021-11-25 19:09:23 1007 2

转载 AOT和JIT区别

AOT,JIT是什么?JIT,即Just-in-time,动态(即时)编译,边运行边编译;AOT,Ahead Of Time,指运行前编译,是两种程序的编译方式区别这两种编译方式的主要区别在于是否在“运行时”进行编译优劣JIT优点:可以根据当前硬件情况实时编译生成最优机器指令(ps. AOT也可以做到,在用户使用是使用字节码根据机器情况在做一次编译)可以根据当前程序的运行情况生成最优的机器指令序列当程序需要支持动态链接时,只能使用JIT可以根据进程中内存的实际情况调整代码,使内存能够更充分

2021-11-22 11:26:10 2464

转载 Hive SQL语法总结

这几天一直在做与hive相关的工作,幸好以前有学过一点,上手起来也还挺快,现在有空,再系统温习一遍hive sql的语法吧前言Hive是一个数据仓库基础的应用工具,在Hadoop中用来处理结构化数据,它架构在Hadoop之上,通过SQL来对数据进行操作。Hive 查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,Hive 将用户的Hive SQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,Hadoop 监控作业执行过程,然后返回作业执行结果给用户。H

2021-09-26 09:21:36 544

原创 LeetCode--删除链表的倒数第 n 个结点

本来打算成为一个只更新力扣题解的小博主,结果力扣题解没更新几个,其他内容倒是更新了不少=,=,是我肤浅了题目:示例 1:给定一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]题解:剑指 Offer II 021. 删除链表的倒数第 n 个结点(java图解)...

2021-09-18 14:29:55 138

原创 被忽略的java的多继承

前几天看到某大佬博客写的一篇文章,里面总结了一个结论:”Java之中只允许多层继承,不允许多重继承,Java存在单继承局限。“,然后我就在下面评论了一下,说java的接口,是可以多继承的,就引来另一个大佬的不屑,说那叫多实现,刚开始我以为是大佬只知道java的单继承。后来反思了一下,应该是我没有说清楚,应该是Java的接口与接口之间,是可以多继承的相信大家对java中只有单继承的结论根深蒂固,是的,但是我们要加上一个条件,是java的类只有单继承。(找理由水一下博客)我们可以自己动手来试一下前期

2021-09-15 12:03:53 147

转载 理解滑动平均(exponential moving average)

enmm,关于这个EMA算法,是在flink源码偶然间看到的,在网上搜了几篇EMA算法的介绍,感觉就这个介绍的很好=,=1、用滑动平均估计局部均值滑动平均(exponential moving average),或者叫做指数加权平均(exponentially weighted moving average),可以用来估计变量的局部均值,使得变量的更新与一段时间内的历史取值有关。变量vvv在ttt时刻记为 vtv_{t}vt​,θtθ_{t}θt​ 为变量 vvv 在ttt 时刻的取值,即在不使.

2021-09-11 11:26:37 1456

原创 java设计模式之责任链模式

@NoArgsConstructor@AllArgsConstructor@Data/**假期*/public class Vacation { //请假天数 private int days;}/**上级抽象类*/public abstract class Superior { protected Superior next; protected void setNext(Superior next){ this.next=next;

2021-09-07 11:15:48 231 3

翻译 flink的Savepoint

其实说到flink的checkpoint,那必然也得讲讲flink的savepoint什么是 Savepoint ? Savepoint 与 Checkpoint 有什么不同?Savepoint 是依据 Flink checkpointing 机制所创建的流作业执行状态的一致镜像。 你可以使用 Savepoint 进行 Flink 作业的停止与重启、fork 或者更新。 Savepoint 由两部分组成:稳定存储(列入 HDFS,S3,…) 上包含二进制文件的目录(通常很大),和元数据文件(相对较小)

2021-09-06 11:30:12 5379

原创 >>> 和 >> 运算符

在其他博客上看到有小伙伴对这个好像不是很懂,这里就写代码看看实际情况吧,顺便偷偷水一篇博客(xiao sheng bb)首先要说明一下">>>"是无符号右移">>"是有符号右移什么是无符号?我们简单理解一下,就是移动的时候不管符号,有符号反之闲话少说,直接上演示代码: public static void main(String[] args) { int a=-2; int b=-2; System.out.p

2021-09-06 10:21:26 440

转载 Presto实现原理

转载美团的一篇技术文章。2014年发表的,年代还是有那么久远,哈哈前言Facebook的数据仓库存储在少量大型Hadoop/HDFS集群。Hive是Facebook在几年前专为Hadoop打造的一款数据仓库工具。在以前,Facebook的科学家和分析师一直依靠Hive来做数据分析。但Hive使用MapReduce作为底层计算框架,是专为批处理设计的。但随着数据越来越多,使用Hive进行一个简单的数据查询可能要花费几分到几小时,显然不能满足交互式查询的需求。Facebook也调研了其他比Hive更快的工

2021-09-06 09:07:10 303

原创 java基础--通过反射来操作对象

前言大家都知道,要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载。Java类如果不被Java虚拟机加载,是不能正常运行的。现在我们运行的所有的程序都是在编译期的时候就已经知道了你所需要的那个类的已经被加载了。Java的反射机制是在编译并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审。使用在编译期并不知道的类。这样的特点就是反射前期准备下载好IDEA,下载并配置好jdk8下载好Lombok插件Student类@Data@AllArgsConstructor

2021-09-03 17:23:50 302

翻译 介绍一下flink的Watermark

前面这篇文章中有提到过watermark,相信很多小伙伴对这个东西还是不太熟,我们可以去官网上看看详情Watermark 策略简介为了使用事件时间语义,Flink应用程序都需要知道事件时间戳对应的字段,意味着数据流中的每个元素都需要拥有可分配的事件时间戳。其通常通过使用TimestampAssigner API从元素中的某个字段去访问/提取时间戳时间戳的分配与watermark的生成是齐头并进的,其可以告诉Flink应用程序事件时间的进度。可以通过指定WatermarkGenerator来配置wat

2021-09-03 16:17:19 480

原创 flink的checkpoint部分源码阅读二(配置系列)

在前面我们从官网上了解了checkpoints的配置,为了加深一下大家的印象,所以我们这次从源码方面看看到底有哪些配置前言Flink 中的每个方法或算子都能够是有状态的。 状态化的方法在处理单个元素/事件 的时候存储数据,让状态成为使各个类型的算子更加精细的重要部分。 为了让状态容错,Flink 需要为状态添加 checkpoint(检查点)。Checkpoint 使得 Flink 能够恢复状态和在流中的位置,从而向应用提供和无故障执行时一样的语义。源码源码位置:在flink-streaming-

2021-09-03 15:18:55 669

原创 flink-认识各种算子及使用

前言用户通过算子能将一个或多个 DataStream 转换成新的 DataStream,在应用程序中可以将多个数据转换算子合并成一个复杂的数据流拓扑。接下来介绍部分算子的使用方法,大家直接复制粘贴就好,简单粗暴搭建IDEA的开发环境记得下载一个Lombok插件pom文件如下: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

2021-09-03 13:55:26 382

原创 flink的checkpoint源码部分阅读一(Checkpoint接口)

对于checkpoint的各种理论看的有点多,但是感觉都不太深刻,所以就从码云上下载源码想多了解一下前言

2021-09-03 11:09:57 414

翻译 flink-作业调度

作业调度这篇文档简要描述了 Flink 怎样调度作业, 怎样在 JobManager 里描述和追踪作业状态调度Flink 通过 Task Slots 来定义执行资源。每个 TaskManager 有一到多个 task slot,每个 task slot 可以运行一条由多个并行 task 组成的流水线。 这样一条流水线由多个连续的 task 组成,比如并行度为 n 的 MapFunction 和 并行度为 n 的 ReduceFunction。需要注意的是 Flink 经常并发执行连续的 task,不

2021-09-03 10:14:08 486

翻译 flink的Checkpoint开启与配置

Key Default Type Descriptionstate.backend.incrementalfalse Boolean Option whether the state backend should create incremental checkpoints, if possible. For an incremental checkpoint, only a diff from the previous checkpoint is stored, rather than the com

2021-09-02 15:22:12 13608

原创 HDFS的可靠性

前言相信大家对Hadoop不是很陌生了。Hadoop是由java语言所编写,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。我们这块主要来讲讲HDFS的可靠性:机架策略冗余副本策略安全模式心跳机制校验和回收站元数据保护快照机制一、机架策略HDFS 的"机架感知",通过节点之间发送一个数据包,来感应它们是否在同一个机架一般在本机架放一个副本,在其他机架再存放一个副本,这样可以防止机架失效时丢失数据,也可以提高带宽利用率二

2021-09-01 11:01:55 1150

原创 flink开源组件熟悉(各方面的笔记整理)

flink开源组件熟悉(将网上的关于flink的资料整理了一下,也加上了一点自己的看法,整理不易,希望能有个赞就行)一、flink对比其他流式处理框架的区别及其优势flink的优点高吞吐、低延迟、纯流式架构支持对乱序事件的处理有状态、提供exactly-once计算高度灵活的窗口机制失败恢复、故障转移、水平扩展批处理、流处理统一的APIflink VS spark相关资料:Spark 和 Flink 全方面对比(谁是下一代大数据流计算引擎?)Spark、Strom、Flink和

2021-08-25 11:40:37 644 1

原创 flink-WindowWordCount-demo(一)

文章目录前言一、pom二、上代码2.在服务器上启动命令3.启动项目前言Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。网上有很多WordCount的demo,但是好多都还是有点小错误(可能是因为版本的问题)或者是对新人来说感觉不太友好,所以自己去官网上找了一下

2021-08-20 15:07:00 298

原创 搭建hive平台

文章目录前言一、前期准备二、使用步骤1.上传hive的压缩包到服务器中2.配置环境变量3.配置hive-site.xml总结前言第一次搭建hive平台,记录一下,避免以后再搭建的时候踩坑,给一个地址去下载hive点击此处即可进入下载页面一、前期准备请首先搭建好hadoop平台!!顺便再准备一个mysql数据库二、使用步骤1.上传hive的压缩包到服务器中这里我是用xftp工具上传的,上传之后解压一下,并重命名tar -zvxf xxxx.tar.gzmv xxxx hive..

2021-07-22 19:44:56 366

原创 在linux系统开启redis的远程访问(redis连接超时的问题解决)

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warning

2021-06-02 18:43:28 1889

原创 搭建hadoop时的免密钥配置

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、云服务器二、免密钥配置1.生成密钥2.将 本机公钥加到 受信列表中3.修改权限4.测试一下以上设定的本机免密登录是否OK5.分发公钥总结前言这几天在玩hadoop,在虚拟机上玩分布式感觉不过瘾,于是我怂恿了几个小伙伴买了几个云服务器(都是免费的哈哈),下面这篇文章讲一下免密钥配置,(主要是那个命令太长了,真心不想记,所以放在这里,以后等用的时候CV一下,诶,美滋滋)一、云服务器首先记得要有自己的服务器,没有的

2021-05-31 17:27:52 568

原创 用的swagger整出了一个异常

项目场景:用的swagger版本 <swagger.version>2.9.2</swagger.version>,整出了一个异常问题描述:异常如下异常分析:根据上面这句报错信息,点进去AbstractSerializableParameter.java:412可以看到if (BaseIntegerProperty.TYPE.equals(type)) { return Long.valueOf(example);}就是说如果实体属性类型是

2021-05-07 21:33:33 111

转载 Java中的ConcurrentSkipListMap

文章目录前言一、使用建议二、什么是ConcurrentSkipListMap三、ConcurrentSkipListMap查找,插入,删除操作前言concurrentHashMap与ConcurrentSkipListMap性能测试在4线程1.6万数据的条件下,ConcurrentHashMap 存取速度是ConcurrentSkipListMap 的4倍左右。但ConcurrentSkipListMap有几个ConcurrentHashMap 不能比拟的优点:1、ConcurrentSkip

2021-05-04 11:20:09 782

原创 认识Redis的跳跃表的结构

文章目录前言一、什么是跳跃表?二、认识Redis的跳跃表的结构总结前言这几天在读《Redis 设计与实现》,推荐大家阅读一下。加上也看了很多的博客,在这里总结一下关于Redis跳跃表的笔记先把关于Redis跳跃表的重点总结一下在这里:跳跃表是有序集合(zset)的底层实现之一redis的跳跃表实现由zskiplist和zskiplistNode两个结构组成,其中zskiplist用于保存跳跃表信息(比如表头节点,表尾节点,长度),而zskiplistNode则用于表示跳跃表节点每个跳跃表节

2021-05-04 01:21:28 297

原创 双链表(Java)的添加,删除与查找

链表(Java)二力扣:设计链表(707)上次咱们介绍了单链表(链表(一))(本次关于查找添加以及删除的实现也使用上次在单链表里写的接口)下面咱们介绍一下双链表。双链表比单链表在查询方面要快得多,但是它更加复杂,它包含了 size,记录链表元素个数,和伪头伪尾。一、节点结构:class ListNode{ int val; //指向下一个节点 ListNode next; // 与单链表的节点不同 // 指向下一个节点 ListNode prev;

2021-05-04 00:14:18 908

原创 使用RedisTemplate操作Redis

文章目录前言一、添加操作和查看操作1、ValueOperations2、BoundValueOperations三、删除操作四、其他总结前言前面咱们简单介绍了SpringDataRedis点击这里前往SpringDataRedis简介。熟悉Spring的JdbcTemplate对象的话,应该大概能猜出来RedisTemplate的作用了,RedisTemplate对象对RedisConnection进行了封装,它提供了连接管理,序列化等功能,它对Redis的交互进行了更高层次的抽象。另外还提供了R

2021-04-28 00:37:30 563 1

转载 SpringDataRedis简介及配置文件

文章目录前言一、SpringDataRedis简介二、关于配置文件总结前言参考博客:(redis读这篇就够了)一、SpringDataRedis简介咱们在没有了解过Springboot之前,做普通javaweb项目的时候,大部分人使用的是Jedis,这是Redis官方推出的一款面向java的客户端,提供了很多接口供Java语言调用。这里关于Jedis咱们不做详细叙述,主要来讲讲SpringDataRedis。它是spring大家族的一部分,提供了在srping应用中通过简单的配置访问re..

2021-04-27 22:33:35 1079

原创 Redis(一)数据库

Redis服务器将所有的数据库都保存在服务器状态server.h下的redisServer结构的db数组中,db数组的每一个项都是server.h下的redisDb结构dict:保存了数据库中所有的键值对,我们将这个字典称为键空间(key space)键空间和用户所见的数据库是直接对应的:— 键空间的键也就是数据库的键,每个键都是一个字符串对象— 键空间的值也就是数据库的值,每个值可以是字符串对象,列表对象,哈希表对象,集合对象,和有序集合对象中任意一种redis对象expires:这个字典保

2021-04-26 09:59:10 129

原创 配置自己的序列化器(Redis)

配置自己的序列化器前言一、默认选择的序列化器二、配置序列化器总结前言(继续熬夜肝笔记ing…)知识补充—>为什么JAVA对象需要实现序列化?@autowired和@resource注解的区别是什么?一、默认选择的序列化器可能有小伙伴要问了,为啥前面的代码(SpringBoot快速整合Redis)没有设置序列化是因为我们使用了@AutoWired,IOC容器为我们选择了StringRedisTemplate类来注入咱们一起来追踪追踪一下源码:我们进入RedisTemplate类

2021-04-26 01:42:44 1767 3

转载 为什么JAVA对象需要实现序列化?

为什么JAVA对象需要实现序列化?序列化是一种用来处理对象流的机制。所谓对象流:就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口(标记接口),该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutput

2021-04-26 00:09:35 1442

原创 Redis的安装与配置(Windows系统下)

文章目录一、Redis简介二、Windows下的安装三、配置1.查看配置2.编辑配置总结一、Redis简介Redis 简介REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis 是一个开源(GitHub地址:redis)的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言

2021-04-25 23:09:56 3288

原创 IDEA关于Redis插件下载以及注意事项

IDEA关于Redis插件下载首先咱们打开IDEA,在左上角点击File,打开Settings,找到Plugins推荐下载那个下载人数很多的插件不要下Iedis!!否则就打不开IDEA了,可能因为新版本的IDEA不支持这个插件了如果已经下载了的同学,但是打不开IDEA了,可以去:C:\Users\用户名.IntelliJIdea2019.3\config\plugins 这里找到这个插件并且删除掉,然后IDEA就可以打开了以后要是因为下载了某些插件导致IDEA无法打开,也可以用这个办法下载

2021-04-25 20:42:46 2556

原创 SpringBoot整合Redis(简易版,快速上手使用)

Spring整合Redis一、引入jar包二、使用步骤1.加入配置2.开始使用3.测试效果总结一、引入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency

2021-04-25 20:18:20 363

原创 关于SpringBoot打成jar包报的bug

项目场景:SpringBoot项目打包上传,在命令行界面修改端口号问题描述:日志里报了错:java.io.EOFException: null具体情况如下:在windows系统下启动此项目,(原端口号为8081)并修改其端口号,输入:java -jar myapp.jar -server.port=9090 >> D:\aSpringbootTest\log\caralina.out 2>&1 &结果修改的端口号没有访问到,但是访问到了原来的端口号日志

2021-04-24 14:38:39 148 1

空空如也

空空如也

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

TA关注的人

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