- 博客(84)
- 资源 (6)
- 收藏
- 关注
原创 Flink State Checkpoint和并行重分布
目录一、状态类型1.基本类型划分2.组织形式划分3. 举例:托管的Keyed State二、State checkpoint1.Filesystem State Backend2.RocksDB State Backend3.Queryable State三、State 并行重分配1. Operator State2. Keyed State四、...
2019-06-23 10:41:30
1732
原创 Flink 原理架构总结
一、流式任务执行过程1.任务并行 按照自己的理解,一个流程如下图所示,除非经历shuffle过程,否则流程并行度将由source的并行度决定,比如kafka分区数目,shuffle之后的并行度,可能会改变,Operator子任务(Task)彼此独立,并且可以在不同的线程中执行,并且可能在不同的机器或容器上执行。2.OperatorChain 原理同Spark 的S...
2019-06-10 16:35:03
6644
2
原创 Spark transform操作的非常规使用 - SparkContext.runJob()方法的调用
前文 一般场景中,Spark计算任务中transform相关的操作都是由action进行触发的,常见的的比如write、collect、show等,或者在数据处理的过程中调用的groupbykey等API,进行shuffle数据重新分发,在提交任务时会把transform的操作作为前置任务进行提交,但是单纯的transform操作是无法触发spark计算任务的。 但是,单纯由...
2019-05-28 20:39:14
1896
原创 Spark SQL 解析-转换-执行过程
目录前文正文1.概述2. 抽象语法树生成3.Unresolved Logic Plan 逻辑执行计划生成4. Analyzed Logical Plan 逻辑执行计划生成5.Optimized Logic Plan 逻辑执行计划生成6.SparkPlan 物理执行计划的生成前文 Spark SQL以及Dataset体系在Spark中具有越来越重...
2019-05-27 20:38:54
4171
1
原创 Golang 同步方式
目录1.channel2.Sync.Mutex3. Sync.waitGroup4. Sync.Once5. Sync.context6. Sync.pool7.atomic包,针对变量进行操作Sync包简述收集了一些Golang中同步的方式,做一下笔记,未完待续。。1.channel概述Golang以如此明显的方式告诉我们:。优点:c...
2019-05-21 10:30:29
1883
原创 Go:内核线程、LWP、用户线程? 还是协程?
1.三种概念——内核线程、轻量级进程、用户线程:https://blog.csdn.net/qq_32252957/article/details/82983969内核线程:使用内核栈和和寄存器空间,但是调度成本高,等价于进程内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的资源就是内核栈和上下文切换时保存...
2019-05-21 10:30:24
1842
2
原创 golang结构体-对象和指针-函数赋予
转载地址:https://studygolang.com/articles/14244原作者:amu_lucifer1、定义一个结构体typeUserstruct{useridintusernamestringpasswordstring}2、初始化一个结构体 有两种情况,一是得到结构体的对象,一是得到结构的对象指针...
2019-05-21 10:30:18
1898
转载 Golang 学习笔记(06)—— 多线程
作者:ChainZhang链接:https://www.jianshu.com/p/c3d65105fa46介绍线程是cpu调度的最小单位,只有不同的线程才能同时在多核cpu上同时运行。但线程太占资源,线程调度开销大。go中的goroutine是一个轻量级的线程,执行时只需要4-5k的内存,比线程更易用,更高效,更轻便,调度开销比线程小,可同时运行上千万个并发。go语言中开启一个...
2019-05-21 10:30:10
398
转载 sleep与wait是否会占用cpu时间
转载原文:https://blog.csdn.net/lz710117239/article/details/79288605转载作者:lz710117239一直对sleep与wait除了使用方法上的却别外,还对它们是否会占用cpu时间产生了疑惑,故此做了个实验如下:上图中是什么代码都没有执行的时候的cpu利用率,下面我们执行这段代码: public stat...
2019-05-11 16:34:13
5480
5
原创 JDK 8中的LondAddr 与synchronized和AtomicLong并发性能对比实验
目录前文正文0. 测试环境1. Synchronized 测试2. AtomicLong测试3.LongAdder测试总结前文 多线程之间常见同步方式 :Synchronized/ Lock / volitial + CAS 等,在不同的并发量和不同并发场景下性能不尽相同,尤其是Synchronized在不断经过优化之后性能得到了提升,而且...
2019-04-25 15:31:09
549
原创 从1到n整数中1出现的次数:O(logn)算法
转载原文:统计1数目1. 题目描述输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。2. 题目来源第一次看到是在《剑指Offer》第2版上,面试题32。leetcode和牛客网上都有这道题。3. 本文的目的看了《剑指Offer》上的解法,我觉得不能算好:这段解释描述有些...
2018-10-26 10:23:20
835
转载 Akka: 让并发和容错更容易:Akka示例教程
目录摘要Akka框架是什么Akka中的Actor是什么Actor系统Akka的容错和监管者策略本地透明性最后的一些提示结论转载原文:左洪斌摘要Akka用Scala语言写成,为开发高并发、分布式和容错式应用提供了便利,对开发者隐藏了很大程度的复杂性。把Akka用好肯定需要了解比这个教程更多的内容,但是希望这里的介绍和示例能够引起你的注意并继续了解Akka。...
2018-10-22 14:01:15
772
转载 JVM 内存结构
JVM内存结构转载作者:纯洁的微笑转载地址:jvm内存结构 堆 : 线程共享:存放对象方法区:线程共享:存放类结构信息class、常量和静态变量线程栈:线程私有、存放对象引用和原是类型本地变量JVM栈:存储方法执行内存模型,每一个方法执行对应一个栈帧,存储方法的局部变量、方法出口和动态链接等所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大...
2018-10-21 20:33:44
188
转载 Java GC 垃圾回收汇总大全
目录概述对象存活判断垃圾收集算法标记 -清除算法复制算法标记-压缩算法分代收集算法垃圾收集器Serial收集器Parallel收集器Parallel Old 收集器CMS收集器G1收集器常用的收集器组合主要借鉴文章:纯洁的微笑概述垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 L...
2018-10-21 16:51:17
219
原创 Spark 2.4 新特性和PPT
即将发布的 Apache Spark 2.4 版本是 2.x 系列的第五个版本。 本文对 Apache Spark 2.4 的主要功能和增强功能进行了概述。新的调度模型(Barrier Scheduling),使用户能够将分布式深度学习训练恰当地嵌入到 Spark 的 stage 中,以简化分布式训练工作流程。 添加了35个高阶函数,用于在 Spark SQL 中操作数组/map。 新...
2018-09-21 10:20:11
3342
原创 Intellij idea 创建Maven Spark工程
目录背景正文创建Maven工程打包过程添加SCALA支持 背景 Intellij idea开发Spark工程,本地依赖使用Maven进行管理,打包也是用Maven命令,依赖包需要和编译后的源代码同时包含到结果Jar包中。 正文创建Maven工程截图如下,就是用原生的Maven工程,不要选择下面其他的,scala和Java...
2018-09-19 17:23:16
3209
转载 Flink onTime - processFunction
转载作者:写bug的张小天转载地址:https://www.jianshu.com/p/e6297fac67cbProcess Function(过程函数)ProcessFunction是一个低层次的流处理操作,允许返回所有(无环的)流程序的基础构建模块: 1、事件(event)(流元素) 2、状态(state)(容错性,一致性,仅在keyed stream中) 3、定时器...
2018-09-17 20:10:58
2763
原创 Flink 异常处理-State和Checkpoint实践
目录目录背景正文 State什么是State(状态)?State类型State理解State实战CheckPointing(1)介绍,实现方式分类(2) 使用Manage State,Flink自动实现state保存和恢复(3) 自定义state 自行实现实现checkpoint接口借鉴文章 背景 ...
2018-09-15 10:50:35
6985
1
转载 FLink - 流式处理框架选型对比
转载原文:https://blog.csdn.net/lmalds/article/details/525395901、需求决定引擎选型根据马斯洛需求层次理论,可以将流处理引擎的需求分为以下几种层次: 1、持续性的流处理 2、低延迟的计算结果,亚秒级别的延迟 3、高效可扩展性,每秒百万级的吞吐量 4、容错性,即失败时的可恢复性 5、精确的可重复性 6、可查询性流处理就是在...
2018-09-13 09:37:38
2375
原创 IntelliJ IDEA中文乱码问题汇总
1.首先是编辑器的乱码,这个很好解决,file->settings->appearence里面有个Name设置成支持中文的字 体(这个很重要)同样还要再settings中的Eidtor->File Encodings里面设置字体编码格式,一般都是UTF-8,GBK什么的也行。2.日志打印console乱码问题使用Intellij idea 使用log4j 中i...
2018-09-12 18:18:26
1154
转载 FLink 优秀的session windows使用案例-Spotify音乐推荐分析
转载原文:https://blog.csdn.net/lmalds/article/details/69267056转载作者:malds李麦迪很棒的文章,博主博文都很好,值得浏览正文1、简介流处理在实际生产中体现的价值越来越大,Apache Flink这个纯流式计算框架也正在被越来越多的公司所关注并尝试使用其流上的功能。在2017年波兰华沙大数据峰会上,有一家叫做GetIn...
2018-09-08 16:55:03
1633
原创 Flink WaterMark(水位线)分布式执行理解
背景 WaterMark (水印) 本质上是一个时间戳。当Flink中的运算符接收到水印时,它明白(假设)它不会看到比该时间戳更早的消息。因此,在“EventTime”中,水印也可以被认为是一种告诉Flink它有多远的一种方式,WaterMark还可以用来实现时间延迟。 本文主要涉及水印在单线程和分布式情况下的理解,基础知识和应用请看:Flink watermar...
2018-09-08 15:49:44
14614
5
原创 Flink 窗口开始结束时间与设置不符问题
问题:1. 在WindowsFunction中,获取窗口开始和结束时间与预设不符2. WindowsFunction函数不触发执行可能原因:1.时间格式问题: 错误:1536137348 正确:15361373480002.WindowsFunction中无返回值,导致函数无法结束...
2018-09-05 19:25:26
2239
转载 Flink Session Windows编程实战
原文地址:https://blog.csdn.net/lmalds/article/details/52692911正文1、session window简介Flink从1.1开始支持Session window,它是属于基于时间的窗口。这里以EventTime为例,基于时间的窗口,可以分为3种:TumblingEventTimeWindows,SlidingEventTimeWin...
2018-09-05 09:23:53
1719
原创 Flink 编程实战 - 构建程序框架
背景 Flink文档中介绍窗口、水印和触发器等功能偏理论,浏览之后对编程方式懵懵懂懂,故作如下练习,是一个基础Flink编程框架,并不是所有Flink程序都如下程序框架所述。 理解如下代码,需要正确理解Event Time和Watermark,可以浏览《Flink Event Time和WaterMark结合优势分析》 博文和《Flink Windo...
2018-09-03 08:54:04
1242
转载 Flink Event Time和WaterMark结合优势分析
背景对Event Time和WaterMark理解存在困惑,转载一篇很棒的文章。转载原文:http://vishnuviswanath.com/flink_eventtime.html翻译原文:https://blog.csdn.net/a6822342/article/details/78064815使用ProcessTime会导致延时到达的消息无法分配进入正确的窗口,使用 Ev...
2018-09-03 08:53:13
3854
2
转载 Flink Windows窗口简介和使用
转载原文:https://blog.csdn.net/lmalds/article/details/51604501Apache Flink–DataStream–Window什么是Window?有哪些用途? 下面我们结合一个现实的例子来说明。我们先提出一个问题:统计经过某红绿灯的汽车数量之和? 假设在一个红绿灯处,我们每隔15秒统计一次通过此红绿灯的汽车数量,如下图: 可以把...
2018-09-03 08:52:42
15983
5
转载 Spark面试汇总
原作者:徐茂盛原博客:https://blog.csdn.net/bingoxubin/article/details/790879611、简答说一下hadoop的map-reduce编程模型首先map task会从本地文件系统读取数据,转换成key-value形式的键值对集合使用的是hadoop内置的数据类型,比如longwritable、text等将键值对集合输入mappe...
2018-08-01 17:14:55
367
转载 Hadoop 面试汇总
原作者:https://blog.csdn.net/bingoxubin原博客:https://blog.csdn.net/bingoxubin/article/details/790729451.Hadoop集群可以运行的3个模式?单机(本地)模式 伪分布式模式 全分布式模式2.单机(本地)模式中的注意点?在单机模式(standalone)中不会存在守护进程,所有东西都运行...
2018-08-01 17:11:01
262
原创 Hive 基础知识汇总
安装:安装hive注意跟Hadoop或者spark版本的对应问题命令行变量 --hivevar key=value ,可以允许用户在命令行中声明变量,在hive脚本中使用,该变量声明之后,会放置到hivevar变量空间,下面给出hive中所有的命名空间,查看命名空间变量,在hive脚本中,使用set;会打印出所有命名空间的变量。 Hive 一次性命...
2018-08-01 16:28:53
1950
原创 Hadoop 基础知识汇总
数据来源:网络资源/《Hadoop权威指南》 hadoop i/o 操作:1.数据完整性:datanode在接收到数据的时候会校验数据完整性,比如CRC-32,datanode在接受client数据或者复制其他datanode的数据时会验证数据完整性。正在写数据的client会将数据和校验和发送到datanode管线,最后一个datanode来负责校验数据完整性clien...
2018-07-21 09:39:14
347
原创 Ocean 调度框架
前言MySQL、Redis、Memcache、Grafana等等抽象为了PAAS平台ocean的服务组件。ocean平台作为小米公司级PAAS平台,目前正在做的事情和后续的一些规划,这里简单列几个:CI/CD、故障注入、故障自愈、容量测试等等。目前ocean平台已支持IDC和多云环境,此次分享只介绍IDC内的实践。ocean平台因启动的比较早,当时k8s还没有release版本...
2018-07-18 08:43:44
1183
原创 LeetCode - 面试刷题指南 (2)
背景 筛选了一部分比较经典的leetcode题目,比较懒,就没有整理成表格了。。。正文1.two sum hashmap15.3sum 排序,遍历53. Maximum Subarray Subarray 遍历一遍即可56. Merge Intervals。 遍历一边,一个pre-last 判断当前pre和上一个last62. Unique Paths 动态规划64. Minim...
2018-06-04 21:36:47
911
原创 Spark 相关
一、Spark SQL相关1.spark sql 要比shark 快的几点:A.内存列存储,有点像parquet或者orc等列式存储格式,存储效率高B.字节码生成技术,主要是避免了虚函数的调用,转变成了scala函数映射,在sql语句执行的时候,具体方法执行(例如 sort中的compare)会调用虚函数,虚函数调用会导致指令集预读失效,因为虚函数后面的指令集不是马上要执行的,导致cpu需要被暂停...
2018-05-31 16:03:09
205
转载 139. Word Break
转载地址:https://blog.csdn.net/gao1440156051/article/details/52192981139. Word BreakGiven a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one ...
2018-05-29 20:36:50
300
转载 494. Target Sum
转载作者:愤怒的屎壳郎转载地址:https://blog.csdn.net/hit0803107/article/details/54894227后面给了JAVA版本的代码You are given a list of non-negative integers, a1, a2, ..., an, and a target, S. Now you have 2 symbols + and -. F...
2018-05-28 20:42:47
177
转载 Spark项目练习(实现自定义排序)
转载作者:Alen-Gao转载地址:https://blog.csdn.net/sonicgyq_gyq/article/details/79239946 在实际操作中,sortBy算子往往不能满足数据多种排序的需求,这就需要我们使用自定义排序来实现,以下是实现简单的自定义排序的两种方法,起到抛砖引玉的作用。第一种方法:(Ordered:自定义一个函数)[plain] view plain co...
2018-05-28 16:43:17
734
转载 Scala并发编程基础
转载作者:摇摆少年梦转载地址:https://blog.csdn.net/lovehuangjiaju/article/details/47623177本节主要内容Scala并发编程简介Scala Actor并发编程模型react模型Actor的几种状态Actor深入使用解析1. Scala并发编程简介2003 年,Herb Sutter 在他的文章 “The Free Lunch Is Over...
2018-05-28 15:43:24
818
转载 287. Find the Duplicate Number
转载作者:GrandYang转载地址:https://www.cnblogs.com/grandyang/p/4843654.html注意点方法二中的原理,实际上是寻找环的起点fast-low其实上是环的长度,然后可以快指针先走(fast-low),然后慢指针再走,相遇的地方是环的起点本作者方法中,fast和low相遇地方取决于非循环部分的长度:如果没有非循环部分,那么,相遇点在环的起点如果有非循...
2018-05-27 20:58:23
141
小实践3-测试数据 - 用户行为数据-user.json/log.json
2018-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人