自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 电气自动化入门——总览

目录学习路线电气设备组成部分设备驱动类设备元件常用电机类型 电机控制器类型​编辑 气缸类设备驱动设备控制与数据采集监控部分小型PLC中大型PLC数据采集与监控HMI——人机交互界面 IPC——工控机 设备检测反馈元件——传感器基于Windows系统 可通过C Sharp进行二次开发

2023-07-02 10:24:36 619

原创 Kafka-八股

Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域分布式意味着Kafka需要保证数据的一致性同时可以保证数据的高可用 也就引出LEO和HW以及ISR发布\订阅模式意味着Kafka需要维护一种生产消费模型 消费者组与Partition随之而来。

2022-09-13 23:16:49 730 1

原创 HBase-八股

1:Mysql是单机的数据库 而HBase是分布式数据库 后者可以应对更大的数据量2:Mysql是行式存储,HBase是列式存储 适合于新增列以及多维表3:HBase是Key\Value存储类型 适应于稀松数据。

2022-09-11 21:40:35 477

原创 Flink-八股

而这也就代表着,我们需要为每一个提交的应用单独启动一个JobManager,也就是创建一个集群。中 因为数据是一条接着一条有序而来的 提取每个数据事件语义作为水位线 在准确度上来说没有问题 但是提取的频率会很高 甚至有时候提取并不会促进水位线的前进 所以一般都是。),因为读取的数据源内的数据并不相同 我们根本就等不到"相同数据"的出现,即便出现了"相同数据" 那也只是数值相同但意义(时间上)并不相同.前面提到的两种模式下,应用代码都是在客户端上执行,然后由客户端提交给 JobManager的。

2022-09-07 14:14:42 652

转载 Mysql

在数据之外,数据库系统还维护着满足特定查找算法的数据结构,包括B+树或者Hash表。由于存储引擎表示的是数据在磁盘上面的不同的组织形式,所以索引底层采用哪种数据结构是跟数据库的存储引擎相关的。如果是MyIsam或者是InnoDB存储引擎,那么对应的底层的数据结构为B+树,如果是Memory存储引擎,那么对应的底层的数据结构为Hash表。事务是访问并更新数据库中各项数据项的一个程序执行单元.在事务中操作,要么都做修改,要么都不做.

2022-08-21 20:42:36 473

原创 Spark -八股

要讨论Spark三种不同的提交流程,首先要明确Spark最基本的运行架构。

2022-08-18 09:19:53 841

原创 解决实际业务中出现的数据倾斜

Spark 数据倾斜UDAF

2022-08-16 20:07:34 94

原创 从数据存储结构优化Spark SQL性能

HDFS存储Parquet存储ORC存储压缩算法导致的OOM

2022-08-15 20:59:43 337

原创 Java-多线程

释放对于monitor的所有权,释放过程很简单,就是讲monitor的计数器减1,如果减完以后,计数器不是0,则代表刚才是重入进来的,当前线程还继续持有这把锁的所有权,如果计数器变成0,则代表当前线程不再拥有该monitor的所有权,即释放锁。公平锁是指多个线程在等待同一个锁时,必须按照申请锁的时间顺序来依次获得锁。调用 wait() 使得线程等待某个条件满足,线程在等待时会被挂起,当其他线程的运行使得这个条件满足时,其它线程会调用 notify() 或者 notifyAll() 来唤醒挂起的线程。....

2022-08-10 22:10:49 74

原创 Collection-ArrayList

ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。每个ArrayList实例都有一个(capacity而不是size),该容量是指用来存储列表元素的数组的大小。它总是至少等于。随着向ArrayList中不断添加元素,其容量也自动增长。自动增长会带来数据向新数组的重新拷贝,因此,如果可预知数据量的多少,可在构造ArrayList时指定其容量。...

2022-08-03 16:12:15 73

原创 Flume

Flume的核心是把数据从数据源(source)收集过来,再将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达目的地(sink)后,flume在删除自己缓存的数据。![在这里插入图片描述](https。...............

2022-07-21 22:29:45 223

原创 暴力递归到动态规划

暴力递归尝试(从左至右\范围)->转化成记忆搜索->转化成严格表结构的DP->观察表结构进行优化题目三:排成一条线的纸牌博弈问题题目四:想起中马的跳法(三维尝试改DP)抽象成三维表结构

2022-06-20 21:34:15 77

原创 实时数仓-涉及维度退化的事实表

[关键字]:Flink SQL、Flink 双流Join、Flink 动态表与持续查询、宽表、维度退化

2022-06-07 21:11:29 568

原创 本地运行Flink-DIMAPP出现问题

问题提炼:在本地运行Flink读取云服务器Kafka中的topic显示Timeout of 60000ms expired before the position for partition topic_db-0 could be determined日志级别通过将设置lof4j中rootLogger=info,error,stdout更详细的发现问题所在 虽然在本地程序中显式的指定了kafka所在服务器的外网地址,但是在通过zookeeper寻找leader的时候还是默认使用了本地设置的ha

2022-05-25 22:47:59 561

原创 Java-HashMap

HashMap中resize()方法将一条链表分为两条参考:https://blog.51cto.com/u_14943622/3309790http://www.bjpowernode.com/hot/2533.html需要记住的一点就是:oldCap不仅是之前的容量,也是新老容量之差(容量扩为原来的2倍)

2022-05-19 23:20:07 209

原创 Linux集群端口被占用|Flink识别不出HDFS路径

Linux 端口被占用问题:Hadoop集群端口被占用导致无法启动NameNode和DataNode解决办法:查看端口占用情况netstat -anp |grep 8888 //查看8888端口的占用情况 上图即端口8888被进程4110所占用kill掉占用的进程Flink识别不出HDFS路径问题:Hadoop is not in the classpath/dependencies.解决办法需要将flink-shaded-hadoop-3-uber-3.1.1.7.

2022-05-19 17:04:47 425

原创 2022年1月17日|

2022年1月第三周周记暴力递归【简介】暴力递归就是尝试-----------------------------------------1,把问题转化为规模缩小了的同类问题的子问题 2,有明确的不需要继续进行递归的条件(base case) 3,有当得到了子问题的结果之后的决策过程 4,不记录每一个子问题的解汉诺塔问题【问题】打印n层汉诺塔从最左边移动到最右边的全部过程package class08;public class Code01_Hanoi { public

2022-05-05 19:58:41 72

原创 云服务器搭建大数据集群-外网访问WEBUI问题|Kafka-Eagle WEBUI问题

外网访问云服务器Hadoop集群的WebUI外网访问云服务器Kafka-Eagle的WebUI

2022-05-04 16:14:28 970

原创 关于HashMap中确定Hash方法的记录

#HashMap在HashMap中需要确定Node或TreeNode节点应该连接在那个Table[index]之后判断代码:tab[(n - 1) & hash] 此处的hash= key.hashCode() ^ (h >>> 16)此处的n为table数组的长度为什么要与(n-1)&要保证所有元素都能落在table数组的范围内(不能数组长度只有16却要放到17);因为要求了table数组长度必须是2的幂次方,故(n-1)刚好等于table.length;

2022-04-30 14:53:19 53

原创 2022年1月4日|5日|6日|7日|

2022年1月第一周周记

2022-01-14 21:37:40 158

原创 2021年12月27日|28日|29日|30日|31日|

2021年12月第五周学习周记二叉树二叉树节点结构:class Node <V>{ V value; Node left; Node right;}用递归和非递归分别实现二叉树的先、中、后序遍历package class05;import java.util.Stack;public class Code01_PreInPosTraversal { public static class Node { public int value; public No

2022-01-03 15:31:41 199

原创 2021年12月20日|21日|22日|23日|24日

2021年12月第四周周记回顾排序算法选择排序索引i自左向右 记录有序下边界的下一个数,遍历 i+1 →arr.length 取其中最小值与i交换 有序下边界向右扩 ++冒泡排序索引i自右向左 记录有序上边界的上一个数, 两两自 0 → i 比较交换,将最大值交换至i位置,有序上边界向左扩 –插入排序索引i自左第二个数起向右,记录下边界, 当下边界右扩的时候 将新加入的数与左边的数进行比较若新数比左边小,则交换继续比较 直至大于等于左边的数或到边界值归并排序

2021-12-26 20:27:13 346

原创 2021年12月13日|14日|15日|16日|17日

2021年12月第三周周记B站左神Leetcode视频归并排序package class02;import java.util.Arrays;public class Code01_MergeSort { public static void mergeSort(int[] arr) { if (arr == null || arr.length < 2) { return; } mergeSort(arr, 0, arr.length - 1); } p

2021-12-17 18:20:36 726

转载 2021年12月9日|12月10日|

2021年12月7日09:58:27完成POI关键字搜索爬取B站左神LeetCode视频完成POI关键字搜索爬取B站左神LeetCode视频

2021-12-13 11:53:34 308

原创 Linux定时任务Crontab命令使用详解与总结

https://www.jb51.net/article/148575.htm

2021-08-24 11:55:46 55

转载 将本地项目代码上传到gitlab

前言项目在本地从零开发,未commit或者pull过任何Git版本,需要将自己本地的项目上传到GitLab新建的项目中。本文使用Git命令行操作。步骤一 、在GitLab上新建Git仓库。点击创建完成之后,生成空的项目仓库,如下图:在界面的下部有命令行指令的说明:![命令行指令](https://img-blog.csdnimg.cn/8d67726989a347d99b4c5374ab8ef271.png?x-oss-process=image/watermark,type_ZmFuZ3

2021-08-10 16:10:47 275

原创 2021-07-23/2021-07-26 重温拉链表|学习Spark SQL|学习Git Comment

重温拉链表拉链表先放到增量表中,然后进行关联到一张临时表中,在插入到新表中 1、 判断失效值,2、 判断有效值,3、通过UNION ALL进行联合DROP TABLE IF EXISTS dw_orders_his_tmp;CREATE TABLE dw_orders_his_tmp ASSELECT orderid,createtime,modifiedtime,status,dw_start_date,dw_end_dateFROM ( //判断失效值 SE

2021-07-26 19:37:45 243

原创 2021-07-22 学习@JUnit4|@RunWith

2021-07-22 学习@JUnit4|@RunWith关于Junit4JUnit4注解解释JUnit4使用说明JUnit4 的两个属性excepttimeout关于@RunWith关于Assert函数的理解Spark Session替代SparkConf关于Junit4在Junit4中,一个POJO类就是一个测试类,测试方法通过@Test来标识,初始化方法通过@Before来标识,释放资源的方法通过@After来标识。JUnit4注解解释@Test : 测试方法,测试程序会运行的方法,后

2021-07-22 18:43:11 210

原创 数据库与Mysql - 14

流程控制结构分类顺序结构:程序从上往下依次执行;分支结构:程序从两条或多条路径中选择一条去执行;循环结构:程序在满足一定条件的基础上,重复执行一段代码;分支结构#1.IF函数功能:实现简单的双分支;--------------------------------语法: IF(表达式1,表达式2,表达式3)执行顺序: 如果表达式1成立,则IF函数返回表达式2的值,否则返回表达式3的值;---------------------------------应用:任何地方#2.CASE结

2020-06-30 19:01:59 62

原创 数据库与Mysql - 13

函数含义一组预先编译好的SQL语句的集合,理解成批处理语句---------------------------------------------------------- 1.提高重用性 2.SQL语句简单 3.减少了和数据库服务器连接的次数,提高了效率函数与存储过程的区别存储过程:可以有0个返回,也可以有多个返回,适合做批量插入、批量更新;函数:有且仅有1个返回,适合做处理数据后返回一个结果;函数-创建语法CREATE FUNCTION 函数名(参数列表) RETURNS 返

2020-06-30 11:19:14 79

原创 数据库与Mysql - 12

存储过程说明都类似于JAVA中的方法,将一组完成特定功能的逻辑语句包装起来,对外暴露名字好处1.提高重用性2.SQL语句简单3.减少了和数据库服务器连接的次数,提高了效率存储过程-创建语法CREATE PROCEDURE 存储过程名(参数列表)BEGIN 存储过程体(一组合法的SQL语句)END注意 #1.参数模式包含三部分 参数模式 参数名 参数类型 例如: IN stuname VARCHAR(20) -------------------------

2020-06-30 09:30:55 90

原创 数据库与Mysql - 11

变量分类系统变量: 全局变量 会话变量--------------------------------自定义变量: 用户变量 局部变量---------------------------------系统变量说明:变量由系统提供,不是用户定义,属于服务器层面使用的语法#1.查看所有的系统变量------------------------SHOW GLOBAL VARIABLES;//全局变量SHOW SESSION VARIABLES;//会话变量#2.查看满

2020-06-29 11:49:43 91

原创 数据库与Mysql - 10

TCL语言Transaction Control Language 事物控制语言事务一个或一组SQL语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行;-----------------------在Mysql中用的最多的存储引擎有:Innodb Myisam Memory其中Innodb支持事务 而Myisam Memory等不支持事务.事务的ACID属性:#1.原子性#2.一致性#3.隔离性#4.持久性事务的创建事务的分类隐式事务事务没有明显的开启和结束标记

2020-06-26 19:57:41 77

原创 数据库与Mysql - 9

DDL语言简介DDL语言既数据定义语言,主要涉及库和表的管理.一、库的管理 创建.修改.删除二、表的管理 创建.修改.删除创建:CREAT修改:ALTER (修改的是表或库的结构而不是数据)删除:DROP一、库的管理#1.库的创建语法CREAT DATABASE [IF NOT EXIST]库名;案例:创建库BooksCREAT DATABASE IF NOT EXIST books;#2.库的修改#更改库的字符集ALTER DATABASE books CHAR

2020-06-22 20:57:44 116

原创 数据库与Mysql - 8

DML语言分类数据操作语言:插入:insert修改:update删除:delete一、插入语句方式一:经典的插入方式语法:insert into 表名(列名,....,) values(值1,......)案例1:插入的值的类型要与对应列的类型一致或兼容INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(13,'唐艺昕','女','1990-4-23','18988888888',N

2020-06-22 19:29:28 217

原创 数据库与Mysql - 7

联合查询UNION 联合 合并:将多条查询语句的结果合并成一个结果引入案例案例:查询部门编号>90或邮箱包含'a'的员工信息不使用UNION:---------------------------SELECT *FROM employees WHERE email LIKE '%a%' OR department_id > 90;使用UNION:----------------------------SELECT * FROM employees WHERE email

2020-06-21 19:14:43 77

原创 数据库与Mysql - 6

分页查询应用场景当要现实的数据,一页显示不全,需要分页提交SQL请求语法SELECT 查询列表FROM 表名[JOIN TYPE JOIN 表2ON 连接条件WHERE 筛选条件GROUP BY 分组字段HAVING 分组后的筛选ORDER BY 排序的字段]LIMIT offset,size;offset:要显示条目的起始索引(起始索引从0开始)size: 要显示的条目个数特点1.limit语句放在查询语句的最后.2.公式: 要显示的页数 page,每页的条目数

2020-06-21 11:30:08 64

原创 数据库与Mysql - 5

子查询含义 出现在其他语句中的SELECT语句,成为子查询或内查询 内部嵌套其他SELECT语句的查询,称为主查询或父查询 #示例: SELECT first_name from employees where department_idin( SELECT department_id from departments where location_id =1700 ) 括号内的为子查询.括号外的为主查询;分类按子查询出现的位置

2020-06-20 21:46:04 86

原创 数据库与Mysql - 4

SQL92语法语法: Select 查询列表 From 表1 别名 【连接类型】 join 表2 别名 on 连接条件 【where 筛选条件】 【group by 分组】 【having 筛选条件】 【order by 排序列表】分类:内连接(※):inner外连接: 左外(※)left【outer】 右外(※)right【outer】 全外 full【outer】交叉连接:cross详细内连接语法:Select 查询条件f

2020-06-19 21:39:09 72

原创 数据库与Mysql - 3

连接查询一 、含义 当查询中涉及到了多个表的字段,需要使用多表连接 select filed1 ,field 2 from table 1 ,teble 2 .... 笛卡尔乘积:当查询多个表,没有添加有效的连接条件,导致多个表所有行进行连接 解决方法:添加有效的连接条件二、分类内连接: 等值连接 非等值连接 自连接外连接 左外连接 右外连接 全外连接交叉连接三、语法等值连接语法:select 查询列表from table 1 别名,table 2

2020-06-15 21:44:54 62

空空如也

空空如也

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

TA关注的人

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