自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SparkSQL---简介及RDD V.S DataFrame V.S Dataset编程模型详解

SparkSQL,就是Spark生态体系中的构建在SparkCore基础之上的一个基于SQL的计算模块。

2024-04-25 22:33:20 674 3

原创 Spark---持久化,共享变量和RDD之间的依赖关系详解

Spark中最重要的功能之一是跨操作在内存中持久化(或缓存)数据集。当您持久化RDD时,每个节点将其计算的任何分区存储在内存中,并在该数据集(或从该数据集派生的数据集)上的其他操作中重用这些分区。这使得未来的行动更快(通常超过10倍)。缓存是迭代算法和快速交互使用的关键工具。

2024-04-25 21:07:55 729 3

原创 Spark---RDD的创建分类和基础操作算子详解

转换算子(Transformations) (如:map, filter, groupBy, join等),Transformations操作是Lazy的,也就是说从一个RDD转换生成另一个RDD的操作不是马上执行,Spark在遇到Transformations操作时只会记录需要这样的操作,并不会去执行,需要等到有Actions操作的时候才会真正启动计算过程进行计算。集合中的每一个元素,都要作用func匿名函数,返回0到多个新的元素,这些新的元素共同构成一个新的RDD。是一个one-to-many的操作。

2024-04-21 14:28:25 905 1

原创 Spark---核心概念(Spark,RDD,Spark的核心构成组件)详解

Spark就是一个集成离线计算,实时计算,SQL查询,机器学习,图计算为一体的通用的计算框架。何为RDD?其实RDD就是一个不可变的scala的并行集合。Spark的核心概念就是RDD,指的是一个不可变、可分区、里面元素可并行计算的集合,这个数据的全部或者部分可以缓存在内存中,在多次计算间被重用。

2024-04-18 20:56:35 1147

原创 Scala---集合(list,set)详解

list集合有顺序,有索引,元素可重复。set集合无序,没有索引,元素不可重复。

2024-04-18 15:06:20 346

原创 Scala---函数式编程(匿名函数,高阶函数map,flatMap,foreach,filter,partition,fold,reduce,groupBy等)

2、foldRight(zeroValue)((A1, A2) => A3)就是一个聚合函数,开始A2为zeroValue,A1为集合(从右往左取)中第一个元素,聚合的结果就是A3,那么在下一次的聚合过程中,A3就成了A2。之后每一次拿着上一次聚合的结果A2和集合(从右往左取)中的下一个元素A1进行聚合。4、reduceRight((A1, A2) => A3)就是一个聚合函数,开始A1,A2为集合(从右往左取)中前两个元素,A2为第一个元素,聚合的结果就是A3,那么在下一次的聚合过程中,A3就成了A2。

2024-04-18 14:10:20 421

原创 Scala---集合(数组,Map,元组(Tuple),Zip拉链)详解

scala的集合分为了两类,一类是可变的集合(集合可以执行增删改查操作),另一类是不可变集合(集合元素在初始化的时候确定,后续只能进行查,有的可以进行修改,有的不可以)。二者可能名称一样,但是在不同的包下面,对应的包为:scala.collection.mutable和scala.collection.immutable。scala默认使用的集合,或者默认导入的包是immutable。(说明:这里提到的可变或者不可变,指的是,以及容器的长度可变或者不可变。

2024-04-14 22:24:06 509

原创 scala---面向对象(类,对象,继承,抽象类,特质)

Scala中的这个继承和java的继承有一个缺陷,只能进行单继承,可以进行多层继承,但是多层继承又有要求,类与类之间必须具有继承关系,这显然不一定满足,还是有局限的。class中定义的main是无法运行,因为class结构中只能拥有非静态,而object所修饰的结构中的所有的成员都是static静态,所以object的作用1、给Scala类提供程序运行的入口,静态的main函数。在java中的一个class既可以拥有非静态的成员,也可以拥有静态static的成员。类就是对客观的一类事物的抽象。

2024-04-14 20:31:06 993 1

原创 Java---搭建junit4.x单元测试环境,并进行测试

搭建junit4.x单元测试环境1.选择Project Structure2.选择Modules,选择要加入测试环境的模块,选择Dependencies,可以看到当前模块都有哪些依赖。3.点击 + 后选择第一个4.找到你安装IDEA的文件夹,进入到IntelliJ IDEA 2018.3.4\lib目录下,找到junit-4.12.jar,点击OK。注:Junit和hamcrest-core必须一起导入,否则会报错5.导入hamcrest-core.jar,步骤同导入Junit一样点

2024-04-13 21:07:57 417 1

原创 scala---基础核心知识(变量定义,数据类型,流程控制,方法定义,函数定义)

Scala 是一种多范式的编程语言,其设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。

2024-04-13 20:59:18 649

原创 Java----工具类和常用类

Arrays类是操作数组的工具类,提供了大量对数组进行操作的静态方法。1.toString:把数组变成字符串格式2.sort():对数组的数据进行排序3.copyof(数组,长度):数组拷贝Date类Date表示日期的逻辑值 Date date = new Date(); //系统当前时间 System.out.println(date); long time = date.getTime(); // 获得date距离1970-1-1 00:00:00 过了多少毫

2024-02-25 17:46:34 785

原创 Java---泛型详解

泛型在学习集合的时候,集合可以存放任意对象,只要把对象存储到集合后,他们都会被提升到Object类型,在我们取出每一个对象,并进行相应操作时,就必须采用类型转换。而在转换的时候就容易产生类型转换异常。为了解决这个问题,就使用了泛型。泛型定义让一个集合只存储同一类型对象...

2024-02-25 17:45:43 383

原创 Java----多线程详解

多线程并发与并行1.并行:指两个或多个时间在同一时刻发生(同时发生),多个cpu(核)的基础上,每个核执行一个任务,多个核同时执行。2.并行:指两个或多个事件在同一时间段内发生线程与进程1.进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序既是一个进程从创建,运行到消亡的过程。2.线程:进程内部的一个独立执行单元;一个进程可以同时并发的运行多个线程,可以理解为一个进程便相

2024-02-25 17:44:25 880

原创 Java---多线程安全问题(线程同步,死锁,协作,线程池)

线程安全1.如果多个线程在同时运行,而这些线程可能会同时运行这段代码,程序每次运行结果和单线程运行的结果是一样的,而且其他变量的值也和预期的是一样的,这就是线程安全的。2.产生线程安全问题的原因:多个线程同时对成员变量进行写的操作的时候,没有进行数据同步或者其他处理,多个线程就会产生线程安全问题。线程同步Java中提供了同步机制(synchronized)来解决,解决的原理就是,当某个线程进入代码执行的时候,其他线程只能在外面等着,当这个线程操作结束,其他线程才有机会进入这个代码块去执行。同步的三

2024-02-25 17:43:42 983

原创 Java----垃圾回收机制GC

概述        当对象被创建的时候,就会在Java虚拟机的堆内存中拥有一块内存,在Java虚拟机的生命周期中,Java程序会陆续创建无数个对象,假如所有对象都永久占有内存,那么内存有可能很快被消耗光,最后引发内存空间不足的错误。因此必须采取一种措施来及时回收那些无用对象的内存,以保证内存可以被重复利用。        在一些传统的编程语言(如

2024-02-25 17:42:41 320

原创 Java---内部类

内部类概念在一个类中定义的类叫做内部类,包含这个内部类的类叫做外部类。public class test { private int id; private String name; class MyInner{//内部类 }}为什么使用内部类避免名字的泛滥和对外部不可见,内部类可以直接使用外部类的私有成员。内部类分类成员内部类:(1) 普通成员内部类class 外部类{ class 内部类类名 { 内部类成员 }}说明:① 内部类

2024-02-25 17:42:08 363

原创 Java---新特性_函数式接口详解

函数式接口Lambda表达式使用的前提,就是接口必须是一个函数式接口。定义如果在接口中,只有一个抽象方法,那么这个接口就是函数式接口

2024-02-24 18:20:27 349 1

原创 Java----File对象以及IO流详解

File对象概念1.文件和目录路径名的抽象表示形式。也就是说如果希望在程序中操作文件和目录都可以通过File类来完成2.File类可以新建,删除,和重命名文件和目录。但File不能访问文件本身,如果需要访问文件内容,则需要I/O3.File类的实例表示一个文件或者目录(文件夹)4.构造一个File实例并不是创建这个这个目录或文件,而是该路径的一个抽象,他可能真实存在也可能不存在(就是指向这个文件或目录)File的构造方法1.public File(String pathname):通过将给定的

2024-02-24 18:16:30 929

原创 Java---新特性,Lambda表达式详解

Lambda表达式lambda表达式就是对匿名内部类对象的一种格式的简化。java8引入了一个新的操作符"->",称为箭头运算符,或者lambda运算符。lambda表达式只能简化拥有一个抽象方法的接口或者抽象类1.方法无参无返回值 /*Runnable r = new Runnable() { @Override public void run() { System.out.println("aaaa");

2024-02-24 18:12:45 343

原创 拷贝虚拟机到另一台电脑上的时候连不上网络,ping不通百度的解决办法

当拷贝虚拟机到另一台电脑上的时候,其他都没出现问题,但是ping不通baidui,但是在原来的机器上没有问题一、首先在VMware中点击编辑–>点击虚拟网络编辑器,将NAT模式的子网地址改为和你原来机器上的子网地址一样。二、进入虚拟机,查看NetworkManager服务的状态,如果是开启状态就...

2021-09-24 10:36:43 2544

原创 插入移动硬盘时出现Synaptics.exe - 损坏的映像错误的解决办法

出现如上错误时,使用杀毒软件查杀一下,就可以解决问题,原因是硬盘可能中病毒了。如果查杀完成后,再次插入硬盘时电脑没有反应,那么选中此电脑–>右键选择属性–>选择设备管理器–>选择通用串行总线控制器–>选择USB根集线器(USB 3.0),然后右键卸载它,重启电脑,再次插入硬盘时就可以了。...

2021-09-23 19:18:26 26467

原创 clickhouse将csv文件导入表中出现的 DB::ParsingException: Cannot parse input: expected ‘,‘ before: ‘\‘错误的解决方法

将csv文件导入到clickhouse的表中出现如下错误是由于csv文件中的符号出现解析错误注意:csv文件中的分隔符是“,”,而不是”制表符“,仔细检查一下。

2021-09-07 14:07:00 4096

原创 在flink集群中运行jar包出ClusterRetrieveException: Couldn‘t retrieve Yarn cluster问题的解决办法

如果将idea上的flink代码打包运行在flink集群上,出现如下问题有两方面需要考虑:一、修改yarn-site.xml配置文件,原因是可能内存超过虚拟内存的限制,所以需要对yarn进行虚拟内存限制修正,将如下两个配置改为false<property> //pmem指的是默认检查物理内存,容器使用的物理内存不能超过我们限定的内存大小,因为我们上面设置了所有容器能够使用的最大内存数量,超出这个内存限制,任务就会被kill掉 <name>yarn.nodema

2021-08-30 22:40:13 3195 1

原创 Spark集群整合hive以及java.lang.ClassNotFoundException: org.apache.tez.dag.api.SessionNotRunning问题解决

通过spark操作hive中的数据在集群(服务器)上整合步骤1.如果在spark的bin目录下存在metastore_db或者spark-warehouse文件,将这两个文件删除2.导入配置文件1.hive/conf/hive-site.xml2.hadoop/etc/hadoop/core-site.xml和hdfs-site.xml将上述三个文件放入spark/conf目录下,这样就整合好了3.问题如果遇到以下问题将spark下的conf目录中的hive-site.xml里引擎的

2021-08-16 19:38:46 948

原创 安装本地yum源出现,错误:软件包:httpd-2.4.6-80.el7.centos.x86_64,您可以尝试添加 --skip-broken 选项来解决该问题

出现如下错误时:原因:可能是在配置本地yum源时安装的软件版本高于需要安装的软件版本。解决:将高版本的软件卸载,再安装需要的版本,这样就解决了1.卸载2.安装

2021-06-21 21:16:59 6029 2

原创 Java---StringBuilder与String的比较

StringBuilderStringBuilder:是一个可变的字符序列,因为在类中提供了修改私有变量的方法,常用的方法是append和insert,就是在StringBuilder本身上,进行修改。String:长度本身不可变,StringBuilder长度可变。构造方法1.作用:创建当前对象,将其他类型的数据,装换成当前类型2.构造方法:①StringBuilder():创建一个生成器,初始容量为16个字符②StringBuilder(int capacity):创建一个生成器,初始容量

2021-06-10 09:42:22 1227 1

原创 Java----反射详解(获取Class对象,构造方法,还有类中的方法和属性,泛型擦除的应用)

反射类加载机制当一个class文件被加载进内存时,在JVM中将形成一份描述该class文件结构的元信息对象class,通过该对象可以获知class文件的结构信息:如构造器,字段,方法等。虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。总而言之,class文件被虚拟机加载进内存产生Class对象的过程就是类加载机制反射的概念既然万物皆对象,那么类名,构造器,字段,方法等这些信息当然也需要封装成一个

2021-06-08 16:59:06 542

原创 存储过程出现--1172 - Result consisted of more than one row错误的解决方法

下面是带一个输入参数,和两个输出参数的正确的存储过程delimiter &&create procedure user_test(in userid int,out name varchar(100),out uage int)BEGINset @id=userid;SELECT Username,Age into name,uage FROM user WHERE Id=@id LIMIT 1;#SELECT Age into age FROM user WHERE Id=@i

2021-06-07 22:22:35 2093

原创 Java----String字符串详解(常量池)

String类概述1.String是字符串类型,属于java.lang包,不需要导包2.所有字符串常量都属于String类型的对象3.字符串字面值属于常量,存储在方法区的常量池中4.String类型在创建之后就无法更改(是一个不可变的字符序列)5.不可变是因为String类型只提供了构造方法,,没有提供set方法,因此只能在创建对象的时候初始化成员变量,创建完成后,无法通过方法来修改。内存图解常量池随着代码的增多,String字面值占用大量的内存,并且往往存在大量的冗余,为了使java更

2021-06-04 19:54:13 842

原创 Java----static关键字详解

Static关键字为什么要用static如果某个类型的所有对象都有一个相同的属性值,那这个属性就没有必要在所有对象中都存储一份,这样既浪费空间,而且维护的难度也大,一旦需要修改,就要修改所有对象。内存图解注:static修饰的变量或方法不会在对象中存储了,与对象无关了,会在静态区中存储。特性1.static关键字可以用于修饰类的成员变量,方法和代码块2.static修饰的变量称为静态变量(类变量)3.static修饰的方法称为静态方法(类方法)4.static修饰的初始化代码块称为静态初

2021-06-04 19:51:35 122

原创 Java---如何封装,封装的好处以及构造方法

封装的好处1.安全2.将变化隔离(里面发生什么外面不会知道)3.便于使用4.可重用性高如何封装(使用private)1.使用private关键字来修饰成员变量2.对需要访问的成员变量,提供一对getxxx方法和setxxx方法。...

2021-06-04 19:25:58 180

原创 Java-----JVM内存划分(对象内存图解)

创建对象并调用对象的内存图解一个对象两个对象

2021-06-04 19:21:00 101

原创 Java---线程安全下的单例模式(饿汉式,懒汉式,老汉式)

单例模式定义一些人总结出来的解决特定问题的固定的解决方案,一个类在内存中只能存在一个对象,保证对象的唯一思路1.将构造方法私有化(只能在本类中使用,外界不能访问,也就不能通过new来创建对象)2.在类中创建一个私有的本类对象(外界不能new,就要在类中提供一个对外界访问的本类变量,并且是私有的)3.提供一个用类名调用的公有方法获取该对象public class Student{ //将构造方法私有化 private Student(){ } //提供一个对外界访问的本类变量 Stud

2021-05-29 12:48:57 669 1

原创 Java---Map详解

Map(双列集合)概述Map集合中存放的是一一对应的键值对的集合,将键映射到值的对象,一个映射不能包含重复的键,但可以有重复的值。每个键只能映射到一个值。存储特点1.Collection中的集合,元素是孤立存在的,向集合中存储元素采用一个个元素的方式存储;而Map中的集合,元素是成对存在的,每个元素由键和值两部分组成,通过键可以找到对应的值。Map常用子类1.HashMap<K,V>:存储数据采用的是哈希表的结构,元素的存取顺序不能保证一致。因为要保证键的唯一,不重复,所有需要重写键

2021-05-26 15:37:30 486

原创 Java-----Collection集合(hashSet,LinkedHashSet,treeSet,ArrayList,LinkedList)还有比较器的使用详解

集合是Java提供的一种容器,可以用来存储多个数据。与数组的区别:①数组的长度固定,而集合的长度是可变的②数组中存储的是同一类型的元素,可以存储基本数据类型,也可以存储对象;而集合存储的都是对象,不能存基本数据类型,但可以把基本数据类型转换成包装类存到集合中,而且对象的类型可以不一致集合分类1.单列集合(java.util.Collection)2.双列集合(java.util.Map)Collection类下结构图Collection相关aipCollection接口中定义着单列集合

2021-05-21 18:56:15 204

原创 Java---异常

异常含义异常是Java处理错误的一种机制,好的程序应该在异常发生的时候提供处理这些错误的方法,使得程序不会因为异常的发生而阻断。程序错误处理方式传统方式:用if语句进行判断,并作相应的处理抛出异常,捕获异常的机制异常处理机制通常由这五个关键字来实现的:try,catch,finally,throw,throwspublic void method(){ try { 可能产生异常的 代码段 } catch (异常类型 e) { 对异常

2021-05-14 16:27:17 98

原创 远程连接Linux操作系统及Linux的网路配置

Linux网络配置(手动修改Linux的ip地址)虚拟机在安装完成后,我们并没有进行网络配置,也可以连接到外网,这是因为虚拟机的网络配置方式是自动获取的,vmware提前安装好了dhcp服务,用于给虚拟机分发ip地址。网络配置也可以由我们手动配置。如果我们只需要上网,就可以采用自动获取的方式,如果需要固定的ip地址,就需要手动配置。说明:①IP:Internet Protocol(网际互连协议),计算机想要联网就必须具备一个全球唯一的ip地址。②子网掩码:决定ip地址哪些位是网络号,哪些位是主机号;

2021-04-10 17:01:45 358

原创 Linux常用命令(超详细)

基本命令帮助命令1.man---------获得帮助信息基本语法: man [命令或配置文件]

2021-04-10 15:10:49 388

原创 Linux文件系统及Vim编辑器

概述1.linux 文件系统跟windows文件系统不同,windows是分为若干个分区,每个分区下有各自的目录,每个目录下可能又有子目录.而linux只有一个顶级的目录,该顶级目录叫做根目录,用斜杠表示,"/"。根目录下有若干子目录,就像一颗倒立的树2.Linux 每个目录都有自己约定俗成的用处,或者说Linux的不同文件分门别类的放到专门的文件夹。/bin-------是binary的缩写,这个目录存放着系统必备执行命令。如ls,cat/boot--------这里存放的是启动Linux时使用的

2021-04-08 19:55:48 387

原创 数据库基础2

索引概述MySQL官方对索引的定义为:索引是帮助MySQL高效获取数据的数据结构。索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书面前的目录,能加快数据库的查询速度。主键是唯一标识。索引是指向记录的指针。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。优缺点1.优点:①类似于书的目录索引,提高数据检索的效率,降低数据库IO成本②通过索引列对数据进行排序,降

2021-04-07 19:16:34 137

空空如也

空空如也

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

TA关注的人

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