- 博客(60)
- 收藏
- 关注
原创 Flink
1.概念用Java和Scala编写的流处理框架和分布式处理引擎对于无界和有界数据流进行有状态计算(无界,实时、有界,离线 批处理数据)在所有常见集群环境运行,以内存速度和任何规模执行计算达到实时流处理引擎全部标准要求(低延迟、高吞吐量、容错性、窗口时间语义化)实时和批处理数据过程,抽象成三个过程 Source->Transform->Sink2.架构设计物理部署层-deploy层支持多种部署模式:本地部署、集群部署(Standalone/Yarn/Mesos)、云(
2021-11-24 22:59:53 1163
原创 Hbase
1.是什么?hbase是一个数据模型,提供对海量数据的随机实时读/写访问。构建在hadoop之hdfs之上,分布式面向列的数据库,有hdfs的分块存储、冗余、容错的优良特性产生原因:mapreduce/hdfs/hive等适合做批量数据处理,且只能以顺序方式访问数据。2.重要概念表,以"表"为单位组织数据,表由多行组成行,行由一个RowKey和多个列族组成,一行一个RowKey为唯一标识。列族,每一行由若干列族组成,每个列族下可包含多个列、列族是列共性的一些体现。例如(baseInfo
2021-11-20 23:01:52 1153
原创 Redis内存型数据库
是一个高性能的key-value内存型数据库,Redis 是完全开源免费的,遵守BSD协议1.架构单进程单线程模型的KV数据库完全基于内存,提供数据持久化功能数据结构简单,操作也简单使用多路I/O复用模型有五种网络IO模型阻塞IO、非阻塞IO、IO复用模型、信号驱动IO、异步IO模型2.特点支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候自动再次加载进行使用。既支持key-value类型的数据操作(string),还提供list,set,zset,hash等数据结
2021-11-18 23:16:22 1502
原创 kafka与streaming
一丶Kafka应用鉴于kafka在实际使用时,绝大多数应用场景均为Producer和Consumer的API配合使用,故在此只介绍这两种API操作方法,其它的Connector和Streams还有admin可以视自身情况自行学习。1.java版实现步骤创建maven项目(done)加入kafka依赖producer push message实现consumer pull message实现效果测试加入依赖<dependency> <groupId
2021-11-18 10:08:49 300
原创 kafka
1.概念一种高吞吐量的分布式、支持分区的(partition)、多副本的(replication),基于zookeeper协调的消息系统。Message 消息数据,消息队列MQBroker 集群中服务器统称,中间人释义Topic 消息的类别Partition 每个Partition都有3个副本Segment 一个Partition有多个Segment,分Segment管理减少单个文件太大的问题,有index索引能方便更快速定位Producer 发布消息到kafka brokerConsu
2021-11-16 23:01:57 1555
原创 SparkStream
1.什么是SparkStreaming?微批处理的流式(数据)实时计算框架输入数据以某一时间间隔批量的处理,当批处理间隔缩短到秒级时,即可用于处理实时数据流。支持从多种数据源获取数据,通过高级函数进行复杂算法处理,最后将处理结果存储到HDFS文件系统,数据库。2.重要概念StreamingContext类比sparkContext,流计算框架的中枢类,负责环境信息,分发调度数据源 Source离散流 DStream,微批处理当中的数据抽象单位。输入离散流 连接到一个外部Sourc
2021-11-15 21:27:13 914
原创 SparkSQL
Spark SQL是Spark处理数据的一个模块专门用来处理结构化数据的模块,像json,parquet,avro,csv,普通表格数据等均可。与基础RDD的API不同,Spark SQL中提供的接口将提供给更多关于结构化数据和计算的信息,并针对这些信息,进行额外的处理优化操作方式说明: SparkSql shell:类似于hive shell DataFrames API:最早专为sql on spark设计的数据抽象,与RDD相似,增加了数据结构scheme描述信息部分。写spark
2021-11-14 23:47:03 209
原创 Spark常用算子分析与运用
1.算子分析与应用1.1 准换算子(不触发提交,提交后才启动转换计算)value型:输入输出一对一:map flatMap mapPartitions输入输出多对一:union cartesian输入输出多对多:groupBy输出为输入子集:filter distinct subtract sample takeSamplecache型:cache persistkey-value型:一对一:mapValues单个RDD聚集:combineByKey reduceByKey parti
2021-11-12 22:17:29 1215
原创 Scala
一.scala基础篇数据类型:与java相似部分 这几个都为对象,无数据类型Byte,Short,Int,Long,Float,Double,Char,String,Boolean变量常量:用val声明变量:用var声明访问修饰符:private: 尽在包含了成员定义的类或对象内部可见在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员三.运算符与Java一样四.控制语句if …else ,while,do…while与java无异for循环不同for形式定义for(x &l
2021-11-10 23:56:34 583
原创 Spark架构设计、三种运行方式
1.spark架构设计2.算子分析与应用2.1 准换算子(不触发提交,提交后才启动转换计算)value型:输入输出一对一:map flatMap mapPartitions输入输出多对一:union cartesian输入输出多对多:groupBy输出为输入子集:filter distinct subtract sample takeSamplecache型:cache persistkey-value型:一对一:mapValues单个RDD聚集:combineByKey redu
2021-11-10 23:19:06 517
原创 App热点标签分析开发流程
一、数据开发类项目标准流程1) 项目背景-需求说明2) 需求分析3) 技术方案和排期表4) 开发细节和风险控制5) 测试、Bug修复、调优6) 正式上线-用户可以正式使用了7) 项目总结二、目录组织结构——五大金刚:...
2021-11-04 14:48:37 290
原创 Hive企业应用—数据仓库架构
1.数据架构2.数据仓库建模目前的构建方法主要有三种: 范式建模法 维度建模法 实体建模法1.范式建模:主要解决关系型数据库的数据存储数据库六大范式说明 第1范式-1NF:无重复的列、列不可再拆分。 第2范式-2NF:属性完全依赖于主键 第3范式-3NF:属性不依赖于其它非主属性,即属于依赖于主键不能出现传递依赖。 巴斯-科德范式(BCNF),第四范式(4NF),第五范式(5NF,又称完美范式)2.维度建模法事实表,维度表来构建数据仓库,最被人广泛知晓的名字就是星型
2021-10-28 23:05:01 2298 1
原创 Hive自定义函数、参数、脚本
1. Hive自定义函数 UDF 自定义一个java类 继承UDF类 约定俗成的重写evaluate方法 打包类所在项目成一个all-in-one的jar包并上传到hive所在机器 在hive中执行add jar操作,将jar加载到classpath中。 在hive中创建模板函数,使得后边可以使用该函数名称调用实际的udf函数 hive sql中像调用系统函数一样使用udf函数1.rz -bye 2.hdfs dfs -put 3.add jar hdfs:/// 4.crea
2021-10-27 23:45:09 881
原创 Hive-面向数据分析的存储系统
1.Hive在Hadoop生态圈地位2.数据仓库和数据库的对比分析同:都是用来存储数据均为数据的存储载体数据仓库也是数据库,是数据库的一种衍生,延深应用数据仓库和数据库间存在数据交互,相辅相成各有千秋异:数据库面向事务设计,数据仓库面向主体设计的数据库设计避免冗余,数据仓库刻意引入冗余数据库一般存储在线交易数据,实时性强存储空间有限。数据仓库一般是历史数据,实时性弱但存储空间庞大数据库是为捕获数据而设计,即实时性强吞吐量弱,数据仓库是为分析数据而设计,即吞吐量强实时性弱。3.
2021-10-25 20:15:45 403 1
原创 git版本控制系统
一丶版本控制系统发展集中式VCS分布式VCS(git)二、git-工作架构、流程图三丶内部数据存储方式git统一管理元数据,存放在.git目录中四丶git shell应用安装:一般自带,yum install git 可安装配置用户名邮箱:git config --global user.name “你的名字”git config --global user.email “你的邮箱”git命令:cd ~ 进入家目录mkdir 创建目录git init 初始化,创建本
2021-10-25 12:05:46 74
原创 HadoopCore-yarn
4.yarnresourcemanager:负责资源分配和调度nodemanager:负责单节点(task)资源管理和使用applicationmanager:向resourcemanager申请资源用于在NodeManager上启动相应的Task四层阶层用户交互:client集群全局资源调度:ResourceManager 一级调度RM代理节点:NodeManagercontainer: ApplicationMaster Task 二级调度双层调度架构常用调度策略:1.先进先出:
2021-10-20 23:55:53 84
原创 HadoopCore-MapReduce
3.MapReduce简介4.MapReduce运行流程program——》masterassign map散——>worker——》split逻辑切分——》localwrite到 disks (先暂存,解耦)assign reduce聚——》worker——》聚在一起——》output files5.流程详解1.pre-map:map前期准备文件切分——》<k,v>2.map: 打散partition(hash值运算,按split进行划分)——》sort排序——》co
2021-10-20 23:53:37 114
原创 HadoopCore-HDFS
2.HDFS JavaApi 应用 创建maven项目 pom导入jar包依赖,<scope>provided</scope>解释 scope取值 有效范围(compile, runtime, test) 依赖传递 例子 compile all 是 spring-core provided compile, test 否 servlet-api runtime runtime, test 是 JDBC驱动 tes
2021-10-20 23:50:45 198
原创 Linux 常用命令、软件安装、技能扩展
reboot 重启linux服务器poweroff 关闭服务器whoami 查看当前用户su jt 切换jt用户passwd jt 修改jt密码 不指定用户名默认rootcd /home/jt 切换到jt用户的 家目录下mkdir /home/jt/study jt家目录中创建文件夹 studyls /home/jt 查看jt 家目录下的文件或子目录pwd 查看当前路径touch /jt/study/study.txt 在该路径下创建study.txtvi study.txt 【a.
2021-10-11 19:53:26 141
原创 springboot
springboot1.项目搭建spring initializr-spring boot devtools-lombok-spring web-thymeleaf2.配置文件yml,properties3.集成jdbcTemplate3.1引入依赖 <!-- 添加mysql jdbc依赖 --> <dependency> <groupId>mysql</groupId> <artifactId&
2021-09-27 22:52:35 105
原创 连接池、事务、注释一对多多对一、
一、pageHelper分页插件的使用1.导入jar包2.mybatis-config.xml中配置插件<!--配置分页插件--><plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin></plugins>3.查询结果集前,传入分页参数PageHelper.offsetPage(起始值,分页单位);4.查询结果集后创建Pa
2021-08-31 21:58:55 85
原创 配置文件标签、动态SQL、关联查询
一、实现分页查询cpage pageSize 计算出start每页起始数字select * from t_user limit #{start},#{pageSize}模糊查询:concatselect * from t_user where username like concat(’%’,#{0},’%’)二、配置文件标签if标签,为了应付各个字段的查询。where标签,解决多个if语句中有一个if出错导致报错行为。如果任何条件都不成立,那么就在sql语句里就不会出现where关键字如
2021-08-31 09:30:55 91
原创 mybatis封装工具类-web结构
一、mybatis工具类1.MybatisUtil将重复代码封装成方法,减少代码量提升效率。两种方法:1.getSession() 从sessionFactory返回session2.closeSession(SqlSession session) 关闭sessionpublic class MybatisUtil { private MybatisUtil(){} private static InputStream inputStream = null; priv
2021-08-29 21:12:07 96
原创 Mybatis框架-mapper三种方式
一、ORM将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转化为对对象的操作。二、Mybatis相关介绍Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。内部封装了jdbc,使开发者只需关注sql语句本身,不必花费时间经历加载驱动、链接、statement等繁琐过程。Mybatis可以使用简单的XML或注解来配置和映射接口和Java的实体类。2.1 特性1、使用连接池对链接进行管理 2、SQL和代码分离,几种管理 3、参数映射和动态
2021-08-27 21:18:51 140
原创 反射语法操作
1、反射反向探知,在程序运行中动态的获取或操作类中的属性1.1 获取Class对象的四种方式Class clazz1 = User.class;Class<?> clazz2 = Class.forName(“com.tledu.pojo.User”);Class<? extends User> clazz3 = new User().getClass();Class<?> clazz4 = UserTest.class.getClassLoader().lo
2021-08-26 20:19:32 120
原创 Filter、Listener
一、Filter1.1概述过滤器:一般用于完成通用的操作,如:登录验证、统一编码处理1.2 环境搭建1.创建filter.实现Filter覆写方法2.注册和映射(多个Filter拦截相同请求的时候,哪个mapping映射在上面,先执行哪个)/ * 拦截所有请求注意放行静态资源文件二、Listener监听器之一,ServletContextListener* ServletContextListener:监听ServletContext对象的创建和销毁* 方法:* void con
2021-08-26 19:22:01 38
原创 Cookie、Session、验证码登录
一、初始化时机1.1 第一次请求默认servelet是在第一次请求的时候,调用无参构造创建对象,并调用init方法,且只执行一次1.2 Load-on-startup 初始化时机-1 是第一次请求的时候初始化(创建对象,调用init)1 或者大于1 都是启动tomcat的 时候初始化(创建对象调用init方法)二、会话管理2.1无状态协议:是指协议对于事务处理没有记忆能力2.2 会话一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止2.3 功能在一次会话的范围内的
2021-08-22 16:45:06 161
原创 JSP基础、跳转、JSTL表达式
1.概述JSP本质就是一个sevlet,只不过在HTML中编写部分java代码获取内容编写完成之后,通过jsp引擎把jsp文件转换为servlet文件2.基本使用2.1 servlet类体中<%! … %>2.2 servlet的service方法体<% …%>2.3 println() 方法,向页面输出<%= …%>...
2021-08-18 18:39:18 229 1
原创 TomCat&Servlet基本使用
1.Servlet1.1创建servlet创建一个类,继承HttpServlet类,并覆写doGet()/doPost()方法HttpServletRequest request 代表了客户端向服务器发送过来的请求对象HttpServletResponse response 代表了服务器向客户端发送回来的响应对象response.setContentType(“text/html;charset=utf-8”); 设置返回的类型和字符编码类型有好多,在TomCat的安装路径下,conf/web.
2021-08-18 18:32:53 169
原创 JQuery
1.基础语法1.$(function(){ … })2 JQuery选择器$(’#id’) $(’.class’) $(“ul>li”);…1.2.1过滤选择器:eq(index):选择索引好为index的,$ (“li:eq(2)”).css(“color”, ”red”);:odd,选择奇数的元素:sven,选择偶数的元素1.2.2筛选选择器children():子类选择find():后代选择siblings():兄弟结点parent():父节点next():
2021-08-16 13:05:04 62
原创 DOM节点操作、事件对象与BOM
1.节点是什么?nodeType 节点类型 : 1 元素节点 , 2 属性节点 , 3 文本节点 , 8 注释节点 , 9 文档节点nodeName 节点名称 : 文档 #document , 文本 #text , 元素 大写标签名, 属性 属性名nodeValue 节点值 : 元素 null/undefined , 属性 属性值, 文本 文本内容2.节点之间的关系?父节点–parentNode父元素节点–parentElement子节点–childNodes:标签节点、文本节点、注释节点
2021-08-13 19:39:10 78
原创 JavaScript_DOM操作
1.Document文档树,获得所有节点2.获取元素的方式2.1根据id获取元素 getElementByIdvar div1 = document.getElementById(“box1”);2.2 类名获取元素 getElementsByClassNamevar p1Arr = document.getElementsByClassName(“p1”);2.3 标签名获取元素 getElementsByTagNamevar tag1 = document.getElementsByTag
2021-08-12 22:36:10 71
原创 JS数组、函数、对象、API
1.字面量数组1.1.声明var arr2 = [1, 3, 4];1.2.获取var arr = [‘red’, ‘green’, ‘blue’];arr[0]; // red2.函数2.1.声明function 函数名(){// 函数体}2.2.调用函数名();2.3.js中函数名唯一性,没有方法重载4.函数中使用var声明的变量是局部变量,没用var声明的是全局变量 (函数需要被调用)2.4.预加载预解析 会把变量和函数的声明提前,放到代码的最前面。但是变量的, =
2021-08-11 21:53:06 109
原创 JavaScript基础
1.变量声明和初始化var 声明变量2.数据类型2.1 基本数据类型:Number、String、Boolean、Undefined、Null2.2数值判断:NaN:not a number 与任何值都不相等,包括本身2.3 String类型:单双引号都可以2.4 转义:2.5 字符拼接:用+ 连接 console.log(11 + 11);输出1111 console.log(11 - 11); 输出0 会自动转换数值2.6 boolean类型:true为1,false为02.7 un
2021-08-11 09:00:42 41
原创 CSS浮动与定位
1.三种定位机制1.普通流(标准流) 2.浮动 3.定位2.浮动float:left right none只有左右浮动脱离标准流,不占位置,会影响标准流浮动的元素总是找离它最近的父级元素对齐1、浮动后的元素会漂浮在其他元素上边2、浮动后的元素是不占原来的位置3、浮动后的元素不能超出父元素的范围4、浮动后的元素在同一水平线上显示5、浮动后的元素会自动的转化为行内块元素6、浮动后的元素不能超出父元素的内边距和边框2.1 清除浮动解决父级元素因为子级浮动引起内部高度为0的问题。子盒子
2021-08-10 19:17:15 77
原创 CSS选择器、盒子模型
1、样式表1.内部样式表在一个HTML文档中,在head标签下,style标签定义。2.行内部样式表<标签名 style=“属性1:属性值1;属性2:属性值2”>3.外部样式表将样式放到 .css为扩展名的外部样式表中<head> <link href="CSS文件的路径" rel="stylesheet" /></head>2、CSS 字体属性1.font-size:字号大小 推荐:px2.font-family:字体 f
2021-08-08 20:25:45 74
原创 HTML基础
1.常见标签标题:、、、、和段落:文本内容水平线标签: (单标签)换行标签:盒子和范围标签 ☆:这是头部今日价格div:分割、分区的意思,很多div组成页面span:跨度、范围结构化标签:、 :粗体方式显示、:斜体、:加删除线、:加下划线b i s u只有使用,没有强调的意思;strong em del ins语义更强烈。图片标签:标签属性:<标签名 属性1=“属性值1” 属性2=“属性值2” … >内容</标签名>图像标签:src:路径 alt:图
2021-08-04 21:23:34 72
原创 JDBC_操作_DBUtil工具类_Batch_事务机制
1. 使用步骤其中 如果是添加,删除,更新操作,可以没有第5步,查询肯定会有第五步第0步: 导包创建java项目创建lib文件夹把mysql-connector-java-5.1.38-bin.jar复制到lib中右键 -> Build Path -> Add to Build Path第1步:注册驱动 (仅仅做一次)Class.forName(“com.mysql.jdbc.Driver”);Class.forName(“com.mysql.jdbc.Driver”).
2021-08-01 19:57:49 133
原创 数据库_约束、子查询
1. DDL——数据库定义alter table 表名 表示对这个表进行修改(结构上)1.更改表名alter table 表名 rename 新名2.更改字段名alter table 表名 change 列名 新列名 数据类型3.添加字段alter table 表名 add 列名 类型4.删除字段alter table 表名 drop 列名5.更改字段类型alter table 表名 modify 列名 新数据类型6.查看建表语句show create table 表名2.DDL
2021-07-30 11:04:22 70
原创 数据库_MySQL
1.数据库概述解决操作系统之间的跨平台1.1关系型和非关系型的区别关系型:易于理解、贴近逻辑世界,能够做到一一映射,数据库中是以表作为基本单位非关系型:储存键值对,储存的格式多2.数据库对象表,视图,函数,存储过程,索引等。表:就是存储数据的,里面有一条条的记录,记录是由字段组成的。表中具有几个概念:列、行、主键。 列叫做字段(Column),行叫做表中的记录,每一个字段都有:字段名称/字段数据类型/字段约束/字段长度视图:虚表(磁盘上不真实存在),视图是基于select语句查询生成的
2021-07-28 19:02:00 51
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人