自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Git工作机制,暂存区,本地库,远程库管理,常用命令

分支之间互不影响,主分支供生产正常使用,其余分支可以修改副本,最后归到主分支即可。分支可以简单理解为副本,一个分支就是一个单独的副本。分支底层其实也是指针的引用。

2024-06-04 17:42:24 517

原创 SpringBoot3依赖管理,自动配置

SpringBoot 自动配置,依赖管理

2024-06-04 17:32:13 976

原创 DolphinScheduler 3.1.0 海豚集群运维使用问题记录

dolphinscheduler 3.1.0 运维使用问题记录

2023-02-02 15:16:09 4027 2

原创 DolphinScheduler 3.1.0 海豚集群部署配置

dolphinscheduler3.1.0 以上

2023-02-02 14:43:29 6385 2

原创 Clickhouse 三节点三分片六实例双副本部署,用户密码权限配置,cpu内存资源优化

Clickhouse 三节点三分片六实例双副本部署,用户密码权限配置,cpu内存资源优化

2023-01-04 14:08:21 1972

原创 clickhouse三节点三分片双副本环绕部署

clickhouse 三节点三分片双副本 部署

2022-12-12 16:50:04 2207 2

原创 clickhouse搭建bug——进入客户端不显示集群列表

解决clickhouse客户端不显示集群列表信息的问题

2022-09-29 16:30:56 840

原创 Centos7安装MySQL GPG密钥过期问题

Centos7安装MySQL

2022-08-30 15:01:42 1304

原创 Hive调优策略总结

Hive调优策略

2022-06-16 11:30:13 704

原创 命令模式 Java代码演示【使用命令模式实现播放器功能】

文章目录模式介绍模式的结构与实现命令模式扩展(实现播放器功能)模式介绍命令(Command)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样俩者之前通过命令对象进行沟通,这样方便将命令对象进行存储、传递、调用、增加与管理。命令模式的优点:通过引入中简件(抽象接口)降低系统耦合度。扩展性良好,增加或删除命令方便。采用命令模式增加或者删除其它类,满足“开闭原则”。其缺点如下:可能产生大量具体的命令类。因为每一个具体操作都需要设计一个具体命令类,这回

2022-03-22 15:33:12 415 1

原创 模板方法模式 Java代码演示

文章目录模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变算法结构

2022-03-20 16:33:34 737

原创 代理模式【静态代理和动态代理】 Java代码演示

文章目录

2022-03-19 23:34:18 562

原创 建造者模式 Java代码演示【建造者模式和工厂模式的区别】

文章目录基本介绍建造者模式的构成建造者模式的原理类图模式的实现需求演示建造者模式和工厂模式的区别基本介绍建造者模式(Builder Pattern)又叫生成器模式,是一种对象结构模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个过程的不同实现方法可以构造出不同表现(属性)对象。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式的构成建造者(Builder)模式由产品、抽象建造者、具体建造者、指挥

2022-03-09 19:15:07 770 1

原创 原型模式【浅克隆实现,使用序列化实现深克隆】Java代码演示

文章目录案例介绍需求改进:原型模式(浅克隆)总结案例介绍案例需求:克隆羊问题现有一只羊tom,年龄1岁,白色。编写程序创建和tom羊属性完全相同的10只羊。代码演示: 普通的思路实现public class Sheep { private String name; private int age; private String color; public Sheep(String name, int age, String color) {

2022-03-02 16:13:10 571

原创 单例模式实现方式【懒汉式、饿汉式、线程同步问题如何解决】Java代码演示

文章目录介绍实现单例模式的方式1. 饿汉式(静态常量)2. 饿汉式(静态代码块)3. 懒汉式(线程不安全)4. 懒汉式(线程安全,同步方法)5. 懒汉式(线程安全,同步代码块)6. 双重检查7. 静态内部类8. 枚举总结介绍所谓类的单例设计模式,就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。实现单例模式的方式1. 饿汉式(静态常量)方式特点:构造器私有化类的内部创建对象向外暴露一个静态的公共方法。getInst

2022-02-27 23:04:55 538

原创 工厂模式详解(简单工厂模式、工厂方法模式、抽象工厂模式)Scala代码演示

文章目录基本介绍传统方式简单工厂模式对比改进总结基本介绍简单工厂模式属于创建型模式,但是不属于23种GOF设计模式之一,简单工厂是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式。简单工厂模式:定义一个创建对象的类,由这个类来封装实例化对象的行为,这满足创建型模式中所要求的“创建与使用相分离”的特点。在简单工厂模式中创建实例的方法通常为静态方法,因此简单工厂模式又叫做静态工厂方法模式。在软件开发中,当我们会用大量的创建某种、某类或者谋批对象时,就会使用到

2022-02-23 20:39:52 744

原创 HBase客户端常用JavaAPI总结(DDL操作、DML操作)

文章目录DDL 操作(Admin)1. 判断表是否存在2. 创建表3. 删除表4. 创建命名空间DML 操作(Table)5. 插入数据6. 查数据(get)7. 查数据(scan)8. 删除数据Demo 汇总建立连接DDL 操作(Admin)1. 判断表是否存在代码演示: // 1. 判断表是否存在 public static boolean istableExist(String tablename) throws IOException {// // 1.

2022-02-22 23:15:19 1210

原创 SparkSQL中 Dataset 和 DataFrame

文章目录DatasetDataset 底层是什么?DatasetDataset 是一个强类型,并且类型安全的数据容器,并且提供了结构化查询 API 和类似 RDD 一样的命令式 API 。如下查询写法:val spark: SparkSession = new sql.SparkSession.Builder() .appName("hello") .master("local[6]") .getOrCreate()import spark.implicits._val dat

2022-01-29 16:40:23 3164

原创 SparkSQL Catalyst优化器

文章目录RDD 和 SpakSQL 运行时的区别Catalyststep1:解析 SQL,并且生成 AST(抽象语法树)step2:在 AST 中加入元数据信息step3:对已经加入元数据的 AST,输入优化器,进行优化谓词下推(Predicate Pushdown)列值裁剪(Column Pruning)step4:生成物理计划 RDDRDD 和 SpakSQL 运行时的区别RDD 的运行流程大致运行步骤:先将 RDD 解析为由 Stage 组成的 DAG,后将 Stage 转为 Task 直

2022-01-27 16:27:42 1269

原创 Spark RDD常用算子使用总结

文章目录概述Transformation(转换算子)1. map2. flatMap3. filter4. mapPartitions5. mapPartitionsWithIndex6. sample7. mapValues8. union(并集)9. substract(差集)10. reduceByKey11. groupByKey12. combineByKey13. foldByKey14. aggregateByKey15. join16. sortBy17. repartitionAction

2021-12-30 13:50:34 2097

原创 创建RDD的常用方式【并行化集合创建、从外部存储系统创建、RDD衍生、小文件读取】,创建SparkContext对象的方式

文章目录创建 SparkContext 对象RDD 创建方式1. 创建并行化集合RDD(parallelize、makeRDD)parallelizemakeRDD2. 从外部存储系统创建RDD(textfile)3. 从RDD衍生新的RDD(原地计算)4. 小文件读取(wholeTextFiles)RDD 分区数目(总结)获取 RDD 分区数目的俩种方式 RDD 分区的数据取决于那些因素?创建 SparkContext 对象SparkApplication应用,创建SparkContext对象,及应

2021-12-27 18:35:10 2708

原创 JMM Java线程内存模型理解

文章目录JMM 内存模型JMM 数据原子操作JMM 内存模型图JMM 缓存不一致问题1. 总线枷锁(性能太低)2. MESI 缓存一致性协议(volatile关键子底层原理)JMM内存模型图(volatile)Volatile缓存可见性实现原理并发编程三大特性:可见性、原子性、有序性JMM 内存模型图解释JMM 内存模型Java线程内存模型跟cpu缓存模型类似,是基于cpu缓存模型来建立的,Java线程内存模型是标准化的,屏蔽掉了底层不同计算机的区别。如上图多线程中,共享变量存在于主内存中,cpu

2021-12-24 19:52:38 503

原创 Scala 集合类的应用【Map映射、filter过滤、化简、折叠、扫描、拉链、迭代器、stream流、View试图、并行集合、操作符】

文章目录Map 映射的操作应用1. 实际需求2. 高阶函数解决实际需求3. 使用map映射来解决Map 映射的操作应用1. 实际需求一个实际需求:请将 List(3, 5, 7) 中的所有元素都 * 2,将其结果放到一个新的集合中返回,即返回一个新的 List(6, 10, 14) 。传统方法代码如下:object MapOperateDemo01 { def main(args: Array[String]): Unit = { val list1 = List(3, 5, 7)

2021-11-25 21:44:59 1033

原创 Scala 可变集合体系、不可变集合体系 详解

文章目录Scala数据结构的特点1. Scala的集合基本介绍2. 可变集合和不可变集合举例不可变集合继承层次——览图可变集合继承层次——览图数组-定长数组(声明泛型)1. 第一种方式定义数组2. 第二种方式定义数组数组-变长数组(声明泛型)1. 变长数组声明访问2. 定长数组与变长数组的转换3. 多维数组的定义和使用Scala数据结构的特点1. Scala的集合基本介绍Scala 同时支持不可变集合和可变集合,不可变集合可以安全的并发访问。俩个主要的包:scala.collection.i

2021-11-21 20:29:12 2993 3

原创 Scala 隐式转换、隐式值、隐式类、隐式转换时机、使用规则

文章目录概述隐式转换使用步骤概述隐式转换和隐式参数是Scala中非常有特色的功能,也是Java等其它编程语言没有的功能。我们可以很方便的利用隐式转换来丰富现有类的功能。在编写Akka并发编程,Spark,Flink程序时都会经常用到它们。隐式转换:指的是用 implicit 关键字,声明的带有单个参数的方法。隐式参数:指的是用 implicit 关键字修饰的变量。注意:implicit 关键字是在 Scala 的 2.10版本出现的。隐式转换所谓隐式转换,是指以 implicit 关

2021-11-19 01:02:30 1815

原创 Scala中的模式匹配【简单模式匹配,匹配类型,守卫,匹配样例累、匹配集合、变量申明中的模式匹配、匹配for1表达式】

文章目录模式匹配 match简单模式匹配匹配类型守卫匹配样例类匹配集合1. 匹配数组2. 匹配列表3. 匹配元组变量申明中的模式匹配匹配for表达式模式匹配 matchScala中有一个非常强大的匹配机制,例如:判断固定值类型查询快速获取数据简单模式匹配一个模式匹配包含了一系列备选项,每个备选项都开始于关键字 case ,而且每个备选项都包含一个模式及一到多个表达式。箭头符号=>隔开了模式和表达式。格式:变量 match { case "常量1" => 表达式1

2021-10-31 21:24:50 305

原创 Hadoop搭建,Hive搭建,Spark搭建,基础配置

文章目录搭建步骤基础环境配置免密配置JDK配置JAVAZookeeper安装配置Hadoop配置Hive安装配置hql 语句Spark安装配置搭建步骤基础环境配置三台机器主机名修改:(无需重启生效,重新连接即可)hostnamectl set-hostname masterhostnamectl set-hostname slave1hostnamectl set-hostname slave2三台机器防火墙关闭:systemctl stop firewalld.serviceIP

2021-09-27 21:44:43 330

原创 Spark RDD持久化(缓存),Checkpoint

文章目录RDD 持久化1. 缓存函数2. 缓存级别3. 释放缓存4. 何时释放缓存RDD 持久化在实际开发中,某些RDD的计算或转换可能比较耗时间,如果这些RDD后续还会频繁的被使用到,那么可以将这些RDD进行持久化(缓存),这样下次再使用到的时候就不用再重新计算了,提高了程序运行的效率。1. 缓存函数可以将RDD数据直接缓存到内存当中,函数申明如下:def persist(): this.type = persist(StorageLevel.MEMORY_ONLY)def cache

2021-08-27 11:22:31 354

原创 Spark中的RDD函数【基本函数、分区函数、重分区函数、聚合函数、关联函数】详解

文章目录基本函数分区函数基本函数RDD中的map、filter、flatMap以及foreach等函数作为最基本的函数,都是RDD中的每个元素进行操作,将元素传递到函数中进行转换。函数名用法解释map 函数map(f:T=>U) : RDD[T]=>RDD[U]表示将RDD经由某一函数f后,转变成另一个RDD。flatMap 函数flatMap(f:T=>Seq[U]) : RDD[T]=>RDD[U])表示将RDD由某一函数f后,转变为一

2021-08-26 21:28:55 2796

原创 数据结构,单链表讲解,并使用Java代码实现单链表增删改查【尾部添加,中间插入、修改节点、删除节点、展示链表】

文章目录单向链表1.尾部添加新节点思路分析代码实现注意事项2.按照序号插入新节点思路分析单向链表使用带 head 头的单向链表实现:水浒英雄排行榜管理完成对英雄人物的增删改查操作。1.尾部添加新节点思路分析首先要定义一个节点类,每个节点存放俩部分内容,数据域和指针域。节点的数据域部分存放人物编号、姓名、外号。节点的指针域指向下一个节点。编写构造器初始化数据域内容,为了显示方便,需要重写toString方法。定义单向链表类,初始化一个头节点,整型数据初始化为0,字符类型数据初始化为空

2021-08-18 23:54:55 565 1

原创 Java代码实现稀疏数组和队列【稀疏数组和数组之间的转换、数组实现队列的增删改查、环形队列设计】

文章目录稀疏数组 SparseArray稀疏数组的处理方法代码实现稀疏数组 SparseArray先看一个实际的需求编写一个五子棋程序,有存盘退出和续上盘的功能。分析问题:因为该二维数组的很多默认的值是0,因此记录了很多没有意义的数据(稀疏数据)。稀疏数组的处理方法记录数组一共有几行几列,多少个不同的值。把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。举例:应用实例:使用稀疏数组,来保存类似二维数组(棋盘、地图等等)把稀疏数组存盘,并且可以从新恢

2021-08-09 22:33:19 120

原创 Scala特质讲解【特质继承形式、对象混入特质、特质适配器模式,模板方法模式,职责链模式、trait的构造机制、特质继承类】

文章目录概述:有些时候,我们会遇到一些特定的需求,即:在不影响当前继承体系的情况下,对某些类(或者某些对象)的功能进行加强,例如:有猴子类和大象类,它们都有姓名,年龄,以及吃的功能,但是部分猴子经过马戏训练之后,学会了骑独轮车,那么骑独轮车这个功能不能定义到父类(动物类)或者猴子类当中,而实应该定义到特质当中。而Scala中的特质,要用关键字 trait 修饰。特点:特质可以提高代码的复用性特质可以提高代码的扩展性和可维护性。类与特质之间的继承关系,只不过是类与类之间只支持单继承,但是类与

2021-07-29 14:47:11 972

原创 Scala函数式编程【foreach、简化定义、map,flatMap映射、filter过滤、排序(sorted,sortBy,sortWith)、groupBy分组、reduce,fold聚合】

文章目录函数式编程foreach遍历简化函数定义映射(map)扁平化映射(flatMap)过滤(filter)排序sorted(默认排序)sortBy(指定字段排序)sortWith(自定义排序)分组(groupBy)聚合操作reduce(聚合)fold(折叠)函数式编程所谓函数式编程指的就是:方法的参数列表可以接受函数对象。例如:add(10,20)就不是函数式编程,而add(函数对象)则叫做函数式编程。在编写 Spark/Flink 的大量业务代码时,都会使用到函数式编程。函数名功

2021-07-19 16:04:06 538

原创 Scala中的集【Set】、映射【Map】、迭代器【iterator】

文章目录集不可变集不可变集的常用操作可变集Java集合框架如果有Java基础,建议好好理解Java的集合框架和泛型,下文中Scala的集很简单,死噶啦!!!集概述:Set(也叫: 集)代表没有重复元素的集合。特点:唯一、无序解释:1.唯一 的意思是 Set中的元素具有唯一性,没有重复元素。2.无序 的意思是 Set集中的元素,添加顺序和取出顺序不一致。Scala中的集分为俩种,一种是不可变集,另一种是可变集。不可变集不可变集指的是元素,集的长度都不可变。语法:格式一:

2021-07-18 13:46:14 469

原创 Scala中的列表【不可变列表、可变列表、列表常用操作(扁平化,拉链与拉开,列表转字符,并集,交集,差集)】

文章目录列表不可变列表可变列表可变列表的常用操作列表的常用操作扁平化(压平)拉链与拉开列表转字符串并集、交集、差集列表列表(List)是Scala中最重要的, 也是最常用的一种数据结构。特点:1.有序2.可重复注意:1. 有序 的意思并不是排序, 而是指 元素的存入顺序和取出顺序是一致的 .2. 可重复 的意思是 列表中可以添加重复元素在Scala中,列表分为两种, 即: 不可变列表和可变列表。不可变列表特点:列表的元素、长度都是不可变的。语法:1.通过 小括号

2021-07-16 23:41:05 1370 1

原创 Scala中的元组定义、遍历

文章目录元组定义访问元组中的元素元组定义元组一般用来存储多个不同类型的值。例如同时存储姓名,年龄,性别,出生年月这些数据, 就要用到元组来存储了。并且元组的长度和元素都是不可变的。定义格式:格式一: 通过小括号实现val/var 元组 = (元素1, 元素2, 元素3…)格式二: 通过箭头来实现val/var 元组 = 元素1->元素2注意: 上述这种方式, 只适用于元组中只有两个元素的情况.代码示例:定义一个元组,包含学生的姓名和年龄.分别使用小括号以及箭

2021-07-16 15:05:54 1990

原创 Scala中的数组【定长数组、变长数组、遍历形式、常用方法】

文章目录定长数组变长数组增删改元素遍历数组数组常用算法定长数组特点:1.长度可变2.内容不可变语法格式:1.通过指定长度定义数组val/var 变量名 = new Array[元素类型](数组长度)2.通过指定元素定义数组val/var 变量名 = Array(元素1, 元素2, 元素3…)注意:1.在Scala中数组的泛型使用[]来指定。2.使用 数组名(索引) 来获取数组中的元素。3.数组元素是有默认值的,Int:0,Double:0,String:nu

2021-07-16 14:51:52 2969

原创 DeepCTR-Torch 如何使用【案例(Criteo、Movielens)演示、特征(SparseFeat、DenseFeat、VarLenSparseFeat)参数含义】

文章目录安装DeepCTR-Torch 的 4 个步骤step1:模型导入step2:简单的预处理step3:生成特征列step4:生成训练样本并训练模型分类:Criteo回归:Movielens多值输入:Movielens特征数据集criteo_sample.txtmovielens_sample.txt安装deepctr-torch依赖于torch>=1.1.0,可以指定通过pip进行下载pip install -U deepctr-torchDeepCTR-Torch 的 4 个步

2021-06-17 16:23:50 7857 7

原创 RDD 特性,代码案例演示讲解

文章目录RDD 特性A list of partitionsA function for computing each splitA list of dependencies on other RDDsOptionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned)Optionally, a list of preferred locations to compute each split

2021-05-26 16:16:47 464 1

原创 Java 大数字运算(BigInteger类和BigDecimal类)

文章目录BigInteger类BigDecimal在 Java 中提供了用于大数字运算的类,即 java.math.BigInteger 类和 java.math.BigDecimal 类。这两个类用于高精度计算,其中 BigInteger 类是针对整型大数字的处理类,而 BigDecimal 类是针对大小数的处理类。BigInteger类BigInteger 类型的数字范围较 Integer 类型的数字范围要大得多。BigInteger 支持任意精度的整数,也就是说在运算中 BigInteger

2021-05-19 14:13:49 625

空空如也

空空如也

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

TA关注的人

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