自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 搞懂flink-flink一些容易忽略的细节1

整体架构,这张图算是老生常谈了,不过确实很经典把所有大的概念和细节都展示出来了1,checkpoint是在JM段做的,容错和重启也是在JM做的2,Client 会把任务转换成streamGraph和JobGraph,JM端会生成ExecutionGraph然后分发给TM去执行3,checkpoint可以从最近的一次重启任务,只能保证不丢数,不能保证只处理一次,实际上是至少处理一次,所以还需要结合两阶段提交去解决4,JM去调度作业的时候需要去资源管理器ResourceMananger去申请

2021-12-16 16:18:45 1242

原创 搞懂Flink-FlinkSql

前言: sql作为一个高级的数据处理语言,在做数据开发和数仓分析师等岗位是必不可少的一项技能,本人一开始从事数据开发偏工程的职位,随着工作需要逐渐学习sql,sql的学习入门和使用其实相对不是很难,实际生产中要深刻的理解业务并且通过sql产出结果数据是相对的比较难,所以这篇博客的意义在于使大家在使用sql的同时可以了解flink sql的原理。sql最为flink系统的最高等级语言Flink批流一体的时间节点在发布1.9.0版本的时候,阿里开源的blink planner 代替...

2021-12-16 15:19:12 2343

原创 手撕算法-快速排序

题目快速排序1,递归实现快速排序,先定义方法体和start,end private void quickSort(int[] arr) { quickCore(arr, 0, arr.length - 1); } private void quickCore(int[] arr, int start, int end) { }2,定义左右指针和一个活动指针,并设置临界条件start<end,否则退出 p

2021-12-14 19:36:24 776

原创 手撕算法-反转链表

题目:反转链表1,定义一个空链表作为返回的结果,并循环原有链表 private static ListNode reverseList(ListNode head) { ListNode pre = null; ListNode cur = head; while (cur != null) { } return pre; }2, private static ListN

2021-12-14 19:13:30 417

原创 手撕算法-爬楼梯

题目假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:```输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶```示例 2:```输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶```...

2021-12-14 18:55:30 83

原创 手撕算法-反转二叉树

题目:反转一个二叉树,即左右节点相互调换位置解题思路遇到二叉树会想到用递归去解决,考虑把左节点的值和右节点进行调换1,除掉边缘case private TreeNode invertTree(TreeNode node) { if (node == null) return null; }2,左右节点调换,用变量替换的方式,类似指针指向变更的操作 private TreeNode invertTree(TreeNode node.

2021-12-14 18:38:17 350

原创 手撕算法-两数之和

题目:求一个数组两数之和等于target,返回两个数的index解题思路用一个map存 key=num[i] value = index key存数值,value存索引1,把数值的值和index放在map的v和k private static int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<Integer, Integer&g...

2021-12-13 17:01:12 440

原创 手撕算法-括号匹配问

题目:{[()]} >>>>>>>>> true{}[]{) >>>>>>>>> false解题思路两种情况1)一直右括号,然后左括号解法:现在把所有右括号放在stack里,碰到第一个左括号则弹栈和第一个右比较,不同则返回false2)一个左一个右解法:先把右放在栈里,拿到一个左直接弹栈和上个右比较最终如果没有不相同的而且stack里数据弹完了则代表相同...

2021-12-13 16:32:20 333

原创 Sql面试题-连续三天登陆

题目:获取连续三天登陆的用户表结构:CREATE TABLE `temp_last_3_day`( uid varchar(25) DEFAULT NULL comment '用户id', dt date DEFAULT NULL comment '日期') ENGINE = InnoDB AUTO_INCREMENT = 8 DEFAULT CHARSET = utf8mb4;表数据:INSERT INTO temp_last_3_day (`uid`,

2021-12-13 12:47:23 1098

原创 Sql面试题-行转列

场景:原始表数据,课程和人的维度,一门课程对应一条记录,现在需要一个人对应一条数据,这条数据包含各个课程的数据,相当于列转行方法1, case when 函数select userid,sum(case `subject` when '语文' then score else 0 end) as '语文',sum(case `subject` when '数学' then score else 0 end) as '数学',sum(case `subject` when '英语' th

2021-12-12 22:11:33 85

原创 Doris-Rollup和物化视图

Rollup定义:预聚合作用:加快查询物化视图1,创建2,查询,自动匹配最优的物化视图3,自动匹配4,选择最优5,查询改写区别物化视图和rollup都是通过预聚合的方式提供查询效率,物化视图是rollup的一个超集,即覆盖rollup,还支持灵活的聚合方式。...

2021-12-12 22:03:58 551

原创 Doris-bitmap的应用场景

Doris count 的精确去重去重的常规的方法堆机器 Cache 优化 CPU 执行引擎 (向量化,SIMD,查询编译等) 支持 GPU 执行引擎 预计算聚合指标必须支持上卷,去重指标要支持上卷聚合,就必须保留明细,不能只保存一个最终的去重值,所以考虑引入bitmap优点:1,查询时io,cpu,内存,网络资源显著减少,不会随着数据规模线性增加存在的问题1,内存和存储的消耗2,只支持int类型解决的办法1,压缩,业界普遍采用的bitmap库是Ro..

2021-12-12 21:52:10 3888

原创 手撕算法-判断两个二叉树是否相同

题目:判断两个二叉树是否相同解题思路:解二叉树要考虑到用递归准备二叉树结构体:import lombok.Data;@Datapublic class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null;}1,边缘case 都为空则true,只有一个空则为false private static boolean isEqual(TreeNode root

2021-12-12 21:06:47 193

原创 手撕算法-合并两个有序的集合

题目合并两个已经有序的数组合并前: int[] A = new int[]{1, 5, 10, 35, 80}; int[] B = new int[]{2, 9, 20, 30, 70};合并后: int[] C = new int[]{1, 2, 5, 9, 10, 20, 30, 35, 70, 80};解题思路1, 创建两个分别对应两个数组的两个指针,和一个新数组C存放最终结果 private static int

2021-12-12 20:55:50 357

原创 Sql面试题-求店铺访问top3信息

题目:有个网店,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志,访问日志存储的表名为Visit,访客的用户id为uid,被访问的店铺名称为shop,请统计:1)每个店铺的UV(访客数)2)每个店铺访问次数top3的访客信息。输出店铺名称、访客id、访问次数表结构:CREATE TABLE `visit`( uid varchar(25) DEFAULT NULL comment '用户id', shop varchar(25) DEFAULT NU

2021-12-12 20:27:05 1177

原创 Sql面试题-按月份统计用户访问

表结构:CREATE TABLE `action`( userId varchar(25) DEFAULT NULL comment '用户id', visitDate varchar(25) DEFAULT NULL comment '浏览日期', visitCount int(11) DEFAULT NULL comment '浏览次数') ENGINE = InnoDB AUTO_INCREMENT = 8 DEFAULT CHARSET =

2021-12-12 19:54:51 1003

原创 Sql面试题-找出所有科目成绩都大于某一学科平均成绩的学生

表结构:CREATE TABLE `scoree`( uid varchar(25) DEFAULT NULL comment 'userid', subject_id varchar(25) DEFAULT NULL comment '课程id', score int(11) DEFAULT NULL comment '分数') ENGINE = InnoDB AUTO_INCREMENT = 8 DEFAULT CHARSET =

2021-12-12 19:14:27 3197

原创 go语言 io源码解读

Reader 接口的定义如下:type Reader interface { Read(p[]byte)(n int ,err error)}Reader 方法func ReadFromSource(reader io.Reader,num int)([]byte,error) { p:=make([]byte,num) // 创建一个个数为num的数组切片...

2018-11-07 22:36:31 382

空空如也

空空如也

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

TA关注的人

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