- 博客(116)
- 资源 (1)
- 收藏
- 关注
原创 Flink 学习八 Flink 容错机制 & checkpoint & savepoint
flink checkpoint savepoint 基础概念和使用
2023-06-20 23:01:54
2399
原创 Flink 学习三 Flink 流 & process function API
基础流操作,以及相关的processFunction基础概念和使用
2023-06-20 22:15:46
1463
原创 Flink 学习二 Flink 编程基础API
flink 的入门代码;介绍source ,sink transformation 等算子的基础概念和用法
2023-06-20 21:58:58
2300
原创 Linux 配置集群免密和文件分发
当我们的集群数据较多,为了方便管理,或者一些组件需要,尤其是大数据领域,这个时候是需要集群内主机节点之间是相互免密登录的;在我们安装组件的时候,大部分的文件是重复的时候,我们一般是安装和配置好一个节点,然后以这个安装配置好的节点作为模板来分发文件;其他节点改改配置就可以了;这部分可以之前的文章【 4.生成公钥私钥对】https://blog.csdn.net/weixin_44244088/article/details/126575345生成的公钥配置到authorized_keys1.2 配置其他节点
2022-12-08 00:22:26
1581
1
原创 MySQL命令行插入数据乱码分析
在开发过程中, 在linux 的上MySQL 的客户端提交插入数据的SQL, 然后数据在页面展示的时候乱码,在网上查找了一些资料,说是MySQL 的客户端连接设置是Latin1导致的;(当然肯定还是有是由其他的原因也会导致一样数据乱码的情况,这里就不说其他的情况,就只说这一一种情况)后续也是修改了客户端的连接方式为UTF8就可以;
2022-11-28 22:47:55
984
原创 lamdba表达式& 函数式接口& stream 整理
lambda表达式就像一个方法:它提供了一个形式参数列表和一个用这些参数表示的主体(表达式或块)。lamdba 是JDK8 提供的语法糖,对匿名的内部类写法 进行 简化. 是函数式编程思想的一个体现。
2022-11-25 01:01:12
457
原创 Sqoop学习
主要版本Sqoop1 和 Sqoop2 两个版本总结就是2版本不好用于生产;Sqoop 是一款开源工具,主要用于Hadoop (Hive) 数据和传统数据库(mysql ,postgresql)数据传递;可以把传统数据库数据转换到Hadoop HDFS 中,也可以把HDFS 数据导入到关系型数据库中;:起于2009 ,起初作为Hadoop 的第三方模块,后来为了方便部署和快速迭代,Sqoop独立出来作为apache 的项目;目前。
2022-11-04 00:58:57
1059
原创 序列化技术ProtoBuf
把对象内容转化成数据流;与之对应的就是反序列化:从数据流中读取数据,然后重新转换成对象;序列化反序列化往往是遵循一定的格式来操作的;常见的序列化有:把对象转成XML,JSON,二进制流特点XMLJSONProtoBuf数据结构复杂简答较复杂保存方式文本文本二进制保存大小大一般小解析速度慢一般快语言支持多多C/Java/py开发难易麻烦简答简答。...
2022-08-09 23:13:44
261
原创 大数据开发之Apache Hive
ApacheHive是一款建立在hadoop生态之上的开源数据仓库系统,可以把储存在Hadoop文件中结构化,半结构化得到数据文件映射成一张数据库表,然后基于数据库表提供一种类似SQL的查询模型,也叫Hive查询语言,简称HQL;然后是Hive的核心就是把HQL转化成MapReduce程序,然后把转化后的MapReduce程序提交到Hadoop集群执行作为一款数据仓库软件,最起码要有这个数据存储和数据分析的能力;Hive借助hadoop来实现。.........
2022-07-31 20:03:05
479
原创 分布式系统(二)分布式事务的理解
数据库事务,就不过多说了,算是数据库里面的一个核心点,可以理解 ,我们操作数据库的一系列动作如果在一个事务中,这些操作要么全部执行,要么全部不执行; 一个事务是由事务开始和结束中间的全部数据库操作组成;注:像是在MySQL里面 redo log 是保证事务提交的成功,undo 是保证事务回滚;单机系统里面所有的操作可以理解成一个事务;但是随着服务的演变,在微服务分布式的架构中,服务之间调用可能会涉及到多个数据源,如何保证多个数据源之间的事务的一致性; 多个数据源的事务就可以理解为分布式事务;分布式事务没有完
2022-06-22 22:33:47
507
原创 设计模式-行为型模式-模板方法模式 TemplateMethod
模板方法模式为代码提供一个模板。可以由实现不同功能的开发人员填写;目的是避免编写重复的代码,以便开发人员可以专注于核心逻辑;最好的方式是抽象类,重复的是实现方法,抽象方法就是开发人员关注的核心逻辑;比如说是钩子函数,AQS;前面也说了减少重复代码的作用;一般用作在类库中,公共行为封装在抽象类的具体方法中,业务逻辑交给具体的实现 ;有时间说一下 AQS模板方法吧。。。。这个就是比较好的例子;这个就是比较好的例子;······ 比较简单,不写了 按照上面的那个类图就好;...
2022-06-09 22:37:40
97
原创 设计模式-行为型模式-备忘录模式 Memento
封装对象是面向对象的基本原则之一,当对象添加功能,或者修改属性,并且需要保存当时的内部状态(可以理解为快照),可能后面会需要恢复;保存内部状态而不破坏其封装,并在以后阶段恢复其状态;需要执行回滚操作,就会使用备忘录模式,比如原子事务,其中一个失败,就恢复到原来的状态;根据角色来写吧,场景就是比如一个对象有较多的属性,然后一顿修改后,需要把属性恢复到原来的状态**发起者 **需要记住状态的对象备忘录 :存储状态管理者 : 这里可以理解成main方法 触发的动作执行效果...
2022-06-08 23:33:27
121
原创 设计模式-创建型模式-原型模式 Prototype
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象;也叫克隆模式;java 对象实现 Cloneable() 接口,并且重写 clone() 方法,得到原来对象的拷贝对象;但是有问题需要注意;浅拷贝和深拷贝java中的原始的拷贝方法(super.clone()) 是一个浅拷贝 ,次方法用来拷贝对象注:是一个本地方法;一个对象被拷贝,是一个对象的内存复制一份,指向另一个引用;其中基础类型是值拷贝,而引用类型拷贝是引用,而不是拷贝具体对象中的数据深拷贝的话,还是需要自己去实现clone() 方
2022-06-08 22:34:30
117
原创 设计模式-行为型模式-命令模式 Command
在面向对象的编程过程中,一个很重要的事情就是解耦合。比如说是在一个绘图软件中,需要处线段,点位,图形的方法,然后为了统一操作方法,和程序的可维护性;命令模式:CommandConcreteCommandReveiver测试 Client...
2022-06-05 22:50:49
113
原创 设计模式-结构型模式-桥接模式 Bridge
将抽象部分和它的实现部分分离;使得他们可以独立的变化;在软件设计的过程中,我们可能面临的问题是一个抽象可以有多个实现。
2022-06-05 21:49:11
166
原创 设计模式-结构型模式-适配器模式 Adapter/Wapper
适配器模式提供了一种代码重用的方案,把已经有的代码重新封装到一些新的接口中,这个新的接口是原先接口的没有考虑到的;也被成为包装器(Wapper)处理遗留代码,通过对想在有的类的封装,通过适配器,旧的代码也可以适配新的接口JDK 中的InputStreamReader InputStreamWriter 就是适配器模式 ,把标准的输入输出流适配搭4.写个例子没想好怎么写,场景也没有想到,就把上面的类图实现一下把}
2022-06-02 09:11:09
152
原创 设计模式-创建型模式-构建者模式 Builder
设计模式-创建型模式-构建者模式 Builder1.简介构建负载对象,在new 的时候或者每个属性set 会比较多;客户端代码会变得很复杂;当需要实例化一个复杂的类,用来的到不同对象时,我们可以使用不同的类对他们的实例化操作逻辑进行封装,这个类就被称为建造者2.角色Director:指导如何构建对象,这个在有的变体模式中可以省略掉,代码可以合并到客户端中;Product:产品类,复杂对象,建造者创建的对象Builder:抽象建造者类;用于声明构建产品类的组成部分的抽象类或者接口,他的作用是
2022-05-29 22:33:59
193
原创 设计模式-行为型模式-访问者模式 Visitor
设计模式-行为型模式-访问者模式 Visitor1.简介访问者模式将操作和操作的对象结构分开,允许有新的操作而不更改结构类;访问者模式在单个类中定义一组操作,他为每个类型的对象定义一个方法,该方法是来自它必须操作的结构。只需要添加一个访问者就可以添加一组新操作2.角色Element:元素,对象结构(后面会说)的基类ConcreteElementA/ConcreteElementB:具体的元素 ,外部操作的具体类Visitor:基类,它声明了对ConcreteElement 的具体操作Co
2022-05-29 21:35:39
107
原创 设计模式-行为型模式-迭代器模式 Iterator
设计模式-行为型模式-迭代器模式 Iterator1.简介用于容器和容器遍历;容器可以是数组,列表,集合 或者其他的容器型数据结构迭代器模式提供一种顺序遍历聚合对象元素而不暴露其内部实现方式的方法;2.角色Container/Aggregate : 容器类接口ConcreteContainer/ConcreteAggregate :具体容器类的实现类,暴露方法创建迭代器Iterator:迭代器接口,具有通用方法,hasNext();next()ConcreteIterator:一般容器内
2022-05-29 18:25:28
134
原创 设计模式-结构型模式-代理模式 Proxy
设计模式-结构型模式-代理模式 Proxy1.简介为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。功能比如对所有方法添加时间日志记录,对方法添加执行记录;可以对原来的方法不改动,而动态的在方法前后添加一起其他的操作逻辑;2.角色Subject:共同接口,客户端使用的现有接口RealSubject:真实对象,被代理ProxySubject:代理对象,一般是持有被代理对象3.代
2022-05-28 22:56:23
94
原创 设计模式-结构型模式-享元模式 flyweight
设计模式-结构型模式-享元模式 flyweight1.简介一般在代码的运行过程中,创建对象是需要花费时间和资源的;所以说很多地方在获取对象的时候是使用缓存或者对象池的形式来返回对象(返回的实例是不可变的),而不是去创建一个示例;在Java中 String 的常量池就是典型的示例,Integer 的常量池 IntegerCache;目的:使用共享对象,减少内存占用; 对缓存的对象的要求是不能被修改;2.角色Client:客户端代码,使用享元对象FlyweightFactory:享元工厂,用于保
2022-05-28 09:53:52
122
原创 设计模式-结构型模式-组合模式 Composite
设计模式-结构型模式-组合模式 Composite1.简介组合模式,顾名思义,是吧一组对象组合成一个复杂的单一整体,在内部的数据结构,一般使用树,图,数组或者链表来表示组合对象;JVM 的堆栈是组合模式的最佳示例,把代码逻辑编译成组合模式的这种结构底层的入栈 运算完成后,在运算,当然真是情况比这个复杂的多了,根据操作的类型来不断的推入,执行,弹出,合并;组合模式使用了递归组合的机制,客户端代码一同样的方式对对象的各个部分,或者叶子节点进行处理;2.角色Client :客户端代码;对组合模
2022-05-22 20:20:34
121
原创 设计模式-行为型模式-Observer 观察者模式
设计模式-行为型模式-Observer 观察者模式1.简介软件程序之间的解耦,减少相互之间的依赖关系,但是模块之间又是需要协同工作的;观察者模式使得一个对象的状态发生改变的时候,已经预约的其他对象可以看到这一个改变;很多事基于多态来实现;2.角色Subject :主题接口,通知观察者使用这个attach 方法注册, detach 注销 ,notify() 提示变更ConcreteSubject:具体主题,Subject 接口的具体实现,实现观察者在链表的注册和注销,状态改变Observ
2022-05-22 17:51:11
123
原创 设计模式-行为型模式-责任链模式 Chain Of Redponsibility
设计模式-行为型模式-装饰者模式 Chain Of Redponsibility1.简介计算机软件是用来处理信息的,有多种维度或者方向去处理信息; 我们设计编程中的对象时,应该赋予一个类单一的职责;这样可以类更加扩展和维护;基于这个场景,我们设计一系列的处理信息的类按照不同规则去处理类,而不是把所有的规则添加到一个类里面来,这样使得规则更容易扩展和维护;这些类被称之为处理器,处理器处理请求,处理后给下一个处理,以此类推到最后一个;如下图所示2.角色角色Client:客户端,会实例化一个
2022-05-20 09:53:15
115
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人