自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 flink

一 架构设计1 架构设计图二运行模式1 本地运行模式 -local :一个机器启动一个进程的多线程来模拟分布式计算,2 standalone 模式-独立Flink集群:各个环节Flink自己搞定,并没有yarn 、mesos统一资源调度 平台3 集群运行模式:经常是指 flink on yarn 集群模式,yarn也可换为mesos,Kubernetes等集群运行模式共3种:1)Flink Session 集群(会话模式)2) Flink Job 集群(per-job模式)3) Flink Applicat

2022-06-13 20:16:11 272 1

原创 Spark基础

一Spark的定义:专为大规模数据处理而设计的快速通用的计算引擎,并形成一个高速 发展应用广泛的生态系统。二 spark 的特点速度快易用性: 80多个高级运算符,跨语言:使用Java,Scala,Python,R和SQL快速编写应用程序通用性:Spark 提供了大量的库,包括 SQL、DataFrames、MLib、GraphX、 Spark开发者可以在同一个应用程序中无缝组合使用这些库。三spark 架构设计四、 十五个核心概念1 RDD 弹性分布式数据集,是

2022-05-27 19:40:44 172

原创 Hive参数深入浅出,Hive企业应用

1Hive参数介绍特别说明(面试大概率会问) 一 关于数据倾斜的问题 1概念说明: 在大数据处理环境下,数据处理过程出现明显的倾斜现象,导致任务整体迟迟不能完全结束 2特点特征: a在作业或是任务在分布式执行时,经常会出现大部分Task任务很快结束,但可能会有很少一部分Task,往往是1-2个一直卡在99%的情况下。 b典型的木桶原...

2022-05-06 19:17:55 222

原创 Hadoop,Linux,Hive基础

Linux根目录视图主要目录树基础命令1关闭Linux:halt, shutdown -h now , poweroff2重启linux:reboot , shutdown -r now3查看当前登录用户 whoami切换用户: su tian4修改用户密码useradd [username] 添加用户passwd [username]5创建文件夹 : mkdir6 查看目录内容 : ls7 查看当前路径: pwd8创建文件 : to.

2022-05-04 19:14:41 663

原创 Hive概述

1数据仓介绍英文名称为Data Warehouse,可简写为DW。2 通俗解释:面向分析的存储系统一个面向主题的,集成的,不可修改的,反应历史变化的数据集合,适用于数据分析,辅助管理决策。3数据仓库和数据库对比主要联系:1 都是用来存储数据的2数据仓是数据库的一种衍生,延深应用3数据仓库,数据库相辅相成,主要区别:1数据库是面向事务的设计,数据仓库是面向主题设计的2数据库一般存...

2022-04-28 19:29:33 2287

原创 分布式资源管理与任务调度框架Yarn

1Yarn简介:一种新的Hadoop资源管理器,一个通用资源管理系统,为上层 提供统一的资源管理与任务调度及监控,提高了集群管理效率,资源使用率,据共享效率2MRv1MRv1包括三个部分:运行时环境(JobTracker和TaskTracker)、编程模型(MapReduce)和数据处理引擎(Map任务和Reduce任务)主要问题:1)JobTracker 单点故障,如果他出问题,整个系统无法运转2)JobTracker 负载过重,限制了集群的扩展,...

2022-04-27 18:57:31 356

原创 MapReduce 进阶

1HDFS数据格式详解 面向行: 1)文本格式 .txt 可切分, 查看方便编辑简单缺点:无压缩占空间大,传输压力大,数据解析开销大 2)列文件格式 .seq 可切分, 原生支持,二进制kv存储,支持行和块压缩缺点:本地查看不方便,小文件合并形成kv结构后不易查看内部数据面向列: 1)rcfile 文件格式 .rc 可切分, 数据加载快,查询快,空间利用率高,高负载能力缺点 :每一项都不是最高2)orcfile文件格式: .orc 可切分,兼具乐rcfile优...

2022-04-26 21:08:58 2589

原创 MapReduce

1MapReduce 主要功能1)数据划分和计算任务调度2)数据/代码相互定位3)系统优化4)出错检测和恢复2运行流程1首先提交代码,对输入数据源进行切片2master 调度worker 执行map任务3worker当中的map任务读取输入源切片4worker执行map任务,将任务输出保存在本地5master调度worker执行reduce任务,reduce worker 读取map任务的输出文件6 执行reduce任务运行流程详细解析...

2022-04-25 19:00:52 304

原创 分布式计算框架Map/Reduce

1 MapReduce是什么MapReduce是一种编程模型,是面向大数据并行处理的计算模型、框架和平台。1)MapReduce是一个基于集群的高性能并行计算平台。2)2MapReduce是一个并行计算与运行的软件框架。3)MapReduce是一个并行程序设计模型与方法。2基本特点1)分布可靠,对数据集的操作分发给集群中的多个节点实现可靠性,每个节点周期性返回它完成的任务和最新的状态2)封装了实现细节...

2022-04-24 20:22:16 2086

原创 Hadoop初识,分布式文件系统HDFS

1Hadoop核心组件与应用HDFS:分布式海量数据存储功能Yarn:提供资源调度与任务管理功能资源调度:根据申请的计算任务,合理分配集群中的计算节点任务管理:任务在执行过程中,负责过程监控,状态反馈,任务在调度等工作MapReduce:分布式并行编程模型和计算框架Hive:提供数据摘要和查询的数据仓Streaming:解决非Java开发人员使用Hadoop平台语言的问题Hbase:基于列式存储模型的分布式数据库Zookeeper:分布式协同服务2Hadoop

2022-04-22 20:32:18 1048

原创 linux常用操作

12重要目录说明/bin: 系统有很多放执行档的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。/boot: 主要放置开机时使用到的档案/dev : 在Linux系统中,任何装置与周边设备都是以档案的形态存在于目录中。/etc:系统主要的配置文件几乎都放置在这个目录内/home:这是系统预设的使用者目录。当新只能一个一般使用者账号时预设的使用者家目录都会规范到这里来。/lib:在这目录里存放着系统最基本的动态连接共享库,几乎所有的应用程序都需要用

2022-04-19 19:35:29 408

原创 Day-34-Spring boot 01

1Spring boot 优势创建独⽴的 Spring 应⽤程序嵌⼊的 Tomcat,⽆需部署 WAR ⽂件简化 Maven 配置⾃动配置 Spring提供⽣产就绪型功能,如指标,健康检查和外部配2特性为基于 Spring 的开发提供更快的⼊⻔体验开箱即⽤,没有代码⽣成,也⽆需 XML 配置。同时也可以修改默认值来满⾜特定的需求提供了⼀些⼤型项⽬中常⻅的⾮功能特性,如嵌⼊式服务器、安全、指标,健康检测、外部配置等 Spring Boot 并不是对 Spring 功能上的增

2022-04-10 16:00:28 58

原创 SpringMVC---02

补充import<import resource="classpath:applicationContext.xml" />可以通过<import> 导入别的配置文件重定向返回"redirect:地址"。就可以重定向到指定地址怎么给前端返回json数据加入接口不希望跳转界面,希望返回一个json格式的数据,可以在这个接口上加@ResponseBody如果我们希望一个Controller所有的方法都返回json格式的数据,这个时候可以使用@RestC

2022-03-25 21:33:09 745

原创 SpringMVC--01

1 三层架构介绍咱们开发服务器端程序,一般都基于两种形式,一种C/S架构程序,一种B/S架构程序 使用Java语言基本上都是开发B/S架构的程序,B/S架构又分成了三层架构 三层架构 表现层:WEB层,用来和客户端进行数据交互的。 业务层:处理公司具体的业务逻辑的。 持久层:用来操作数据库的。 2 MVC设计模式介绍MVC全名是Model View Controller 模型视图控制器,每个部分各司其职。 Model:数据模型,JavaBean的类,用来进行数据封装。 .

2022-03-24 20:59:16 140

原创 Spring 03 AOP, Spring整合Mybatis, jdbcTemplate

Spring 是解决实际开发中的一些问题,而 AOP 解决 OOP 中遇到的一些问题.是 OOP 的延续和扩展. 使用面向对象编程 ( OOP )有一些弊端,当需要为多个不具有继承关系的对象引人同一个公共行为时,例如日志、安全检测等,我们只有在每个对象里引用公共行为,这样程序中就产生了大量的重复代码,程序就不便于维护了,所以就有了一个对面向对象编程的补充,即面向方面编程 ( AOP ), AOP 所关注的方向是横向的,区别于 OOP 的纵向。2.1 为什么学习 AOP 在不修改源码的情况下,..

2022-03-23 22:00:07 142

原创 Spring02 -----IOC注解

1 XML和注解的区别1.1XML配置: XML配置方式进一步降低了耦合,使得应用更加容易扩展,即使对配置文件进一步修改也不需要工程进行修改和重新编译。 在处理大的业务量的时候,用XML配置应该更加好一些。因为XML更加清晰的表明了各个对象之间的关系,各个业务类之间的调用。同时spring的相关配置也能一目了然。 缺点有:配置文件读取和解析需要花费一定的时间,配置文件过多的时候难以管理,无法对配置的正确性进行校验,增加了测试难度。1.2 annotation配置优点有..

2022-03-22 21:32:56 84

原创 Spring 01

1 Spring 是什么?Spring 是一个开源框架,Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE应用程序开发提供集成的框架。Spring 使用基本的 JavaBean 来完成以前只可

2022-03-21 20:40:55 85

原创 Mybatis03 ,分页

1 事物的回滚对于我们开发过程,也会遇到报错的情况,这个时候为了保证数据的一致性我们就需要进行事务的回滚,比如我们有一个操作需要同时更新用户表和地址表,这个时候更新用户表的时候成功了,但是更新地址表的时候出现了一个特别长的字段,导致更新失败,这个时候,我们需要将数据进行回滚。//用于在测试方法执行之前执行 @BeforeEach public void init()throws Exception{ // 设置为自动提交 sqlSes...

2022-03-19 11:46:41 100

原创 day-23-SSM--Mybatis

1MyBatis 是一款优秀的持久层框架,它支持 SQL、存储过程以及高级映射。MyBatis 有两种用法,一个是注解,一个是XML,各有千秋2.MyBatis与Hibernate的区别MyBatis :1 入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。2 可以进行更为细致的SQL优化,可以减少查询字段。3 缺点就是框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库..

2022-03-17 22:19:10 81

原创 day13-DOM操作,属性操作与事件

1模拟文档树结构2 获取元素的方式1)根据id获取元素var div1 = document.getElementById("box1");2)通过类名获取元素var p1Arr = document.getElementsByClassName("p1");伪数组定义:1、拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解)2、不具有数组所具有的方法伪数组,就是像数组一样有...

2022-03-02 21:08:53 118

原创 DAY12数组、函数, 预解析,对象,错误

1数组定义所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。2 创建数组//创建一个空数组vararr1=[];//创建一个包含3个数值的数组,多个数组项以逗号隔开vararr2=[1,3,4];//创建一个包含2个字符串的数组vararr3=['a','c'];​//可以通过数组的length属性获取数组的长...

2022-03-01 21:36:04 72

原创 day11JavaScript变量,数据类型,运算,流程控制

1JavaScript 是什么语言可以说:Java 服务器端的编程语言,JavaScript运行在客户端(浏览器)的编程语言JavaScript(简称JS)是一种运行在客户端的脚本语言,JavaScript的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。也可以说,是一门脚本语言、是一门解释性语言、是一门动态类型的语言、是一门基于对象的语言。(不是面向对象)、是一门.

2022-02-28 20:32:23 56

原创 day-09 CSS 盒子,浮动与定位

1盒子模型CSS就三个大模块:盒子模型、浮动、定位,其余的都是细节。2盒子模型之边框语法:border : border-width || border-style || border-color (1)、边框的风格样式边框属性—设置边框样式(border-style)边框样式用于定义页面中边框的风格,常用属性值如下:none:没有边框即忽略所有边框的宽度(默认值)solid:边框为单实线(最为常用的)dashed:边框为虚线 dotted:边框为点线doubl.

2022-02-24 21:02:42 103

原创 Day-03 CSS初识,CSS选择器与标签的分类

1CSS初识CSS(Cascading Style Sheets) 主要用于美化样式。CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。2样式表1)内部样式表内嵌式是将CSS代码集中写在HTML文档的head头部标签中,并且用style标签定义<head><style type="text/CSS"> 选择器 {属性

2022-02-23 20:47:55 420

原创 Day-07表格、表单和H5

1 表格标签表格是较为常用的一种标签,但不是用来布局,常用来处理、显示表格式数据。1.table用于定义一个表格。2.tr 用于定义表格中的一行,必须嵌套在 table标签中,在 table中包含几对 tr,就有几行表格。3.td /td:用于定义表格中的单元格,必须嵌套在<tr></tr>标签中,一对 <tr> </tr>中包含几对<td></td>,就表示该行中有多少列(或多少个单元格)。注意:1. &l

2022-02-22 20:55:20 58

原创 day06前端初识

1HTML初识HTML(英文Hyper Text Markup Language的缩写)中文译为“超文本标签语言”,是用来描述网页的一种语言。所谓超文本,因为它可以加入图片、声音、动画、多媒体等内容,不仅如此,它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接。HTML指的是超文本标记语言 (Hyper Text Markup Language)HTML不是一种编程语言,而是一种标记语言 (markup language)标记语言是一套标记标签 (markup tag)总结:

2022-02-21 22:09:29 66

原创 Day—04 JDBC

1程序语言有多种,比如Java、Python、C/C++等,程序语言如果想执行SQL语句,也必须要先与数据库进行连接,数据库也有多种,比如MySQL、Oracle、SQL Server等。不同的程序语言去连接不同的数据库,如果没有一个统一的标准或者规范,肯定是相当混乱的。Java语言对此的解决方案就是JDBC。JDBC定义了一套规范标准,它对应的是各种接口与抽象类(通常对应java.sql包下面的各种类与接口),具体实现交给各数据库厂商去完成,MySQL的有自己的实现类并打成jar包发布,供程序

2022-02-17 20:11:46 83

原创 MySQL 数据库day03

一 子查询子查询又叫嵌套查询。它通常可以位于SELECT后面 FROM后面 WHERE后面,共三种使用场景。当我们查询一个表没有办法实现功能的时候,就需要使用子查询select 后面语法: select 字段名 ,(查询语句) from 表名; : 查询所有学生的信息并显示老师的名字select *,( select name from teacher where id=teacher_id ) as teacher_name from studen

2022-02-16 21:36:37 143

原创 MYSQL应用day02

一 DDL(数据定义语言) 基础拓展DDL 基础有 create,drop alterAlter:更改表明:alter table 表明 rename 新表名更改字段名 类型:alter table 表名 change 列名 新列名 数据类型添加字段alter table 表名 add 列名类型;删除字段alter table 表名 drop 列名更改字段类型(尽量不要更改)alter table 表名 modify 列名 新数据类型;修改数据库字符集

2022-02-15 21:14:08 361

原创 数据库初识

1 数据库(DataBase)数据库: 用来存储数据的仓库特点:可以认为它是对文件系统的改进。它解决了不同操作系统之间,数据格式的兼容性问题。也就是说,只要是同一个数据库的数据文件,即使是从Windows迁移到了Linux上,也可以正常处理的。2数据库分类分为关系型和非关系型俩大类关系型数据库: 对于java而言,一个类就可以对应一个表,一个类对象就可以对应表中一行数据,一个成员变量可以对应表中的一个列,能够做到一一的映射,数据库中以表作为单位的。。 除此之外 还主要体现在它自己的关系模

2022-02-14 21:29:16 61

原创 JDK 1.8 新特性

1Lambda 表达式Lamdba 表达式是一种没有名字的函数,也可称为闭包,是JAVA 8 发布的中重要新特性本质上上一段匿名内部类。也可以是一段可以传递的代码,还有叫箭头函数的闭包:闭包就是能够读取其他函数内部变量的函数,比如在java中 方法内部的局部变量 只能在方法内部使用,所以闭包可以理解为定义在一个函数内部的函数闭包的本质就是将函数内部和函数外部链接起来的桥梁1.2 lambda 特点允许把函数作为一个方法的参数(函数作为参数传递进方法中)使用Lambda 表达式

2022-02-10 21:23:56 203

原创 UDP ,正则表达式,

1DatagramSocket 和 DatagramPacket 实现了基于 UDP 协议网络程序。UDP数据报通过数据报套接字 DatagramSocket 发送和接收,系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。DatagramPacket 对象封装了UDP数据报,在数据报中包含了发送端的IP 地址和端口号以及接收端的IP地址和端口号。UDP协议中每个数据报都给出了完整的地址信息,因此无须建立发送方和 接收方的连接。如同发快递包裹一样。 pu..

2022-02-09 21:02:41 1423

原创 Day-23网络编程

1 网络编程1.1概述 :Java 提供的网络类库,可以实现无痛的网络连接,联网的底层, 细节被隐藏在Java的本机安装系统里,有JVM进行控制,并且Java实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境1.2网络基础计算机网络:把分布在不同地理区域的计算机于专门的外部设备用通信线路互连接成一个规模大,功能强的网络系统,从而使众多的计算机可以方便的互相传递信息,共享硬件,软件,数据信息等资源网络编程的目的:直接或间接的通过网络协议与其他计算机实现数据交换,进行通讯网络编.

2022-02-07 21:22:56 481

原创 day-22死锁,线程通信,单例模式,线程池

1死锁 就是在执行过程中,都遇到了对方进入加锁的方法中,从而导致大家都访问不了的状态死锁原理: 1某一个线程执行完成,需要先后嵌套 锁定,执行俩个对象,并在这个过程中, 先锁定第一个对象 2另外一个线程,执行完成,先后嵌套,锁定 执行俩个对象,并且在这个过程中,先锁定第二个对象 3在第一个线程执行到第二个对象的时候,发现已经被锁定,只能等待 4在第二个线程执行到第一个对象的时候,发现已经被锁定只能等等待publi...

2022-01-25 21:15:28 244

原创 Day -21-多线程

1 程序,进程,线程程序 : 一组命令的集合,为了完成指定的功能,程序是静态概念,一般保存在硬盘当中进程 : 正在运行的程序,是一个动态概念,需要保存在内存当中,操作系统会分配对应的PID,当我们直接关闭某个进程的时候,该进行会在运行内存中被销毁线程 : 一个程序中,不同的执行分支,如果同一个时间节点允许多个线程同时执行的时候,我们称为支持多线程在Java中,main方法开始执行,就是一个线程,称为主线程2 并发和并行并行 : 多个CPU,同时执行多个任务并发 : 一个CPU,同

2022-01-24 20:09:41 60

原创 Day-20 File操作,递归复制,序列化

1 File1.1概述:java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对 象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。File对象可以作为参数传递给流的构造器1.2 构造方法public File(String pat

2022-01-22 18:32:21 53

原创 Day - 19 -IO流

1流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象,即数据在俩设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。1.2分类按处理数据类型: 分字节流和字符流按数据流的不同,分为输入流和输出流按功能:分为节点流: 直接操作数据源处理流: 对其他流进行处理1.3 四大抽象类: 字节输入流 InputStream 字节输出流 OutputStream字符输入流 Reader 字符输出流 Writer1.4 文件

2022-01-21 21:04:54 269

原创 DAY17- 散列表 ,泛型

1Set1.1 HashSet 使用 HashSet set = new HashSet(); set.add(1); set.add("sda"); set.remove("sda"); System.out.println(set.size()); set.isEmpty(); for(Object object: set){ }2散列表散列表结构 : 可以理解为 数组中保存的是链表的首节点,用来保存k和v键值对操作hash 算法: 是一种安...

2022-01-20 20:35:27 296

原创 day-17-集合

1 LinkedList基本使用LinkedLis: 底层是一个双向链表,因为不是连续存储 ,只是能够找到下一个元素的地址而已,所以进行添加和删除操作效率较高,但是查询效率较低,因为只能从第一个挨个找 public static void main(String[] args){ LinkedList list = new LinkedList(); //添加到尾部 list.add(1); list.add(2); list.add(3); //添加到执行位置..

2022-01-19 20:38:03 379

原创 D-16 集合

1 数组封装: 数组操作,比较复杂也不能进行添加和删除操作,需要添加或删除操作时候需要新建新数组,复制 或移位,太麻烦,所以 我们对添加和删除操作进行封装public class Array { /** * 封装的数组 */ private Object[] elements; /** * 数组中已有元素个数 */ private int size = 0; public Array() { // 数组默认长度为 10 elements = new...

2022-01-18 22:06:33 380

空空如也

空空如也

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

TA关注的人

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