自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (10)
  • 收藏
  • 关注

原创 chatGPT大大提高了编程效率

可以肯定的说,未来善于利用类似chatGPT的程序员,和不会用的一定是两个世界的。未来的码农,更多的是思考需求,体力活交给chatGPT吧。这段程序工作的非常完美,而且我们注意到,它还贴心的写了注释。坦白来讲,这段程序已经超出了我的水平,里面有几处地方是日常不太用到的语法,当然,我写shell确实太少了。可以预见的是,未来对初级程序员的需求大大减少了。chatGPT的编程能力已经非常高,程序员一定要善于在工作中使用它,绝对是提高生产力的利器。还贴心的给出了load语句。我不由得表达出深深的敬意!

2023-03-27 11:35:21 678

原创 HANA的扩容考虑

本文探讨HANA内存和磁盘的关系,以及扩容条件的判断

2022-08-23 19:29:27 704

原创 记Flink开发中的两次OOM

记Flink开发中的两次OOM在开发Flink程序中,遇到了两次OOM的处理,挺有代表性的,其中第二次的难度很高,需要对Java虚拟机有很深入的理解。1 第一次第一次问题不是很复杂,我们业务使用RabblitMQ作为数据源,当数据积压时,任务在启动就会导致TaskManager出现OOM的错误。错误现象:An exception occurred processing Appender DefaultConsole-3 org.apache.logging.log4j.core.appender.

2022-04-19 23:31:54 2671 1

原创 如何选择Spark Streaming、Kafka Streaming和Flink

这里写自定义目录标题记录一次流处理引擎选择的过程1、Spark Streaming2、Kafka Streaming3、Flink最后记录一次流处理引擎选择的过程先描述下项目需求,要处理的消息来源为RabbitMQ的队列A,队列A的数据是10万个点位(物联网采集点)数据每秒一次推送产生的,现在的需求是:要新增一些虚拟计算点位,点位建立规则是已有物理点位的计算表达式,比如V001为P001+2*P002。每个计算点位的计算间隔不一样。需要计算的点位数大概有上万个。为了快速的计算这些计算点位,推送到客户端

2022-03-23 14:11:23 2647 1

原创 深入理解Spark SQL原理

1、前言  本文是对自己阅读Spark SQL源码过程的一个记录,主线是对尚硅谷Spark SQL最后练习中建立的表的一个简单SQL编写的源码实现流程的跟读。通过自问自答的方式,学习完了整个Spark SQL的执行过程。  Spark SQL最终是通过Spark Core的RDD进行计算。所以在阅读Spark SQL源码之前,一定要深刻掌握Spark Core原理,而主线就是如何生成与Spark Core里同样类型的RDD,进一步如何转换为Job。  本文从物理计划开始,描述各个结点的实际转换过程,如

2022-02-28 23:54:21 3229

原创 Spark ShuffleRDD生成的两种Task

Spark Core里的ShuffleRDD是对上游RDD的宽依赖,在阶段划分时会生成两个Stage,以下面的WordCount为例,这两个Stage的任务类型分别为ShuffleMapTask和ResultTask:// 创建 Spark 运行配置对象val sparkConf = new SparkConf().setMaster("local[*]").setAppName("WordCount")// 创建 Spark 上下文环境对象(连接对象)val sc = new SparkCon

2022-02-28 15:54:53 1004

原创 无符号整数的文法

为了学ANTLR,去看B站哈工大的编译原理(以前竟然没有学过编译原理,汗!),里面有一个习题,写出无符号整数的文法,网上看了一些,都不对,自己写了一个:S -> DT | D | 0T -> TD | T0 | D | 0D -> 1 | 2 | ... | 9一种更紧凑的表达:S -> 0 | D(D∪0)*D -> 1|2|3...|9其中:∪和*都是集合运算符。...

2022-02-13 23:46:21 1135 5

原创 理解spark中rpc框架

写起来比较麻烦,列个大致学习路线。一般的介绍很少涉及为什么,大致就是把怎么做的讲述了一下,这其实忽略很多深层次的内容,浪费了更进一步学习的机会。实际上spark rpc和hadoop 1.0时代(现在的估计差不多)差别很大,主要体现在netty的使用和简化的actor模型,带来高性能的同时,也提高了可维护性。1、首先学习netty,这个没什么好说的。本身netty也是java网络编程世界的基石。2、学完netty后看spark rpc,会对rpcenv,endpoint、messageloop和in

2022-01-04 23:35:19 351

原创 windows下spark standalone集群模式及集成hive metastore

要开始研究spark的源码了,首先要准备好环境,搭建时的考虑如下:1、开发windows还是首选,所以运行环境限制在windows下2、既然看源码,集群模式绕不过去,使用spark standalone集群已经能说明绝大部分问题,不采用yarn是因为在windows下面搭建太麻烦了3、生产环境肯定是集成hive的metastore,这里使用独立的metastore服务方式,hive已经沦落到元数据管理的作用了,当然即便是元数据管理这一项,也是非常重要的,这里使用mysql作为metastore的

2021-12-08 17:14:48 833 1

原创 Volcano模型和代码生成的简单代码演示

package test;import org.apache.commons.lang.StringUtils;import java.util.Arrays;import java.util.Iterator;abstract class VolcanoNode { protected VolcanoNode child; public VolcanoNode() { } public VolcanoNode(VolcanoNode child) { .

2021-12-08 00:55:10 663

原创 理解【Scala编程】书中的PrefixMap

此书中最难理解的应该就是PrefixMap这个例子了,我大概花了一个晚上才明白这个例子的写法。使用下面的程序调用这个例子: def main(args: Array[String]): Unit = { val p = PrefixMap("abc" -> 1, "ad" -> 3, "da" -> 5) val wp = p.withPrefix("a") val iter = wp.iterator while (iter.has...

2021-11-05 00:15:28 118

转载 【转】30张图带你彻底理解红黑树

原文:30张图带你彻底理解红黑树 - 简书正在按照这篇文件用scala实现一遍红黑树,现在把插入实现了,删除进行中。。。

2021-10-28 00:22:13 171

原创 理解`(ds|hr)?+.+`

在hive/spark sql可以支持对列名进行正则匹配,其中给出这样一个例子: SELECT `(ds|hr)?+.+` FROM sales 这个查询会查找除了ds和hr之外的所有列。这个正则实在是太过少见,查阅了很多资料才理解了。首先要正确拆分(ds|hr)?+.+,(ds|hr)?+是一段,后面.+是第二段。这里面难点在于(ds|hr)?+的意义,子匹配(也就是括号)后面跟了两个量词?+,这是特殊用法,按照一般的量词意义是无法理解的,这个用法就是占有优先量词。正则的量词包括

2021-10-12 01:42:55 2306

原创 idea配置tomcat启动web应用

现状都是spring走天下,今天碰到了要给老项目,需要idea配置tomcat启动。网上的教程不在赘述,这里在启动中遇到一个问题,默认的启动路径为下划线连接符,比如hello-world项目在启动时会变成hello_world,碰巧老项目里面的路径是带项目名称的,所以里面的链接打不开,这时候,要修改的是tomcat配置页面Deployment的Application context项目,修改成项目名称就好了。我使用的版本是idea2021.3,不注意还看不出来,在这个位置:...

2021-10-08 15:11:10 595

原创 一次闹心的U盘安装centos6经历

家里的一台旧电脑准备装个centos6系统,加入自己主电脑的虚拟机集群,本以为一件简单不过的事情,毕竟在virtualbox里面转centos6已经几十遍了。下好centos6.4的镜像,拿出U盘,下好ultraiso,开始写入镜像。坑接踵而至的来了:坑1:ultraiso烧录提升:磁盘或映像文件过小U盘是32G的,镜像才300多M(mini版),不可能装不上,网上说是ultraiso重装,好吧,重装解决。坑2:缺少iso9660开始看到这个错误,以为是mini版的问题,去下了个dvd版

2021-10-03 14:17:51 431

原创 order by的执行时机

假设有这么一个需求,要根据用户点击表,统计每个用户从多到少的点击链接、点击链接次数和依据次数的排序序号。表数据如下:id user_id uri1 1 /2 1 /index3 2 /4 1 /5 2 /6 2 /index7 1 /index8 3 /index9 2 /get10 1 /get...

2021-09-22 17:10:41 486

原创 正则表达式的匹配理解

这样一个^.+apis/{2}(.*)$,匹配的是什么?关键在于中间{2}的理解,{2}表示出现2次,那么是对于api/来说还是只是/,可以通过https://c.runoob.com/front-end/854/来测试:所以是针对前面一个字符,那么要匹配api/呢?将其括起就好了。^.+(apis/){2}(.*)$,测试结果如下:...

2021-09-09 16:15:02 78

原创 CDH5和6的区别

flink为延时或者乱序数据提供了一系列的解决手段,包括lateness、watermark和sideOutput。其中比较难以理解的是watermark。理解的关键在于明白watermark提供了其他手段不能提供的什么功能?如果只是乱序,用lateness就可以解决,很多地方讲解watermark时也是说提供了一个延时容忍度,但是这个理解过于笼统。watermark的关键在于给批量延时提供了一种保护机制,如果大量数据批量延时,lateness的时间肯定会超过,...

2021-09-09 09:20:43 366

原创 Scala里*.map { case => ...}结构的理解

https://blog.csdn.net/lyzx_in_csdn/article/details/82930300中对于省略()的解释实际上是错误的,见下面例子 def main(args: Array[String]): Unit = { def call(method : Int => Int): Unit = { method(1) } call x => x+1 //error call(x => x+1) //ok

2021-08-18 22:25:56 1698 1

原创 Flink中KeySelector理解及方法引用的三种形式

泛型编程是框架的基础,Flink中可以传递POJO对象的get方法,来作为获取key的途径,这样给开发者足够大的灵活性。理解这个过程,对于加强对泛型编程的理解有很大的帮助。此外,对于传递方法,还用到了@FunctionInterface,注意这个注解并不是强制性的,但它减少了一些错误发生的可能。KeySelector本身就是一个函数接口,它提供了两个泛化参数:T代表当前处理数据的类型,K代表Key的类型。KeySelector在Flink中用于获取处理数据内的键值。想象一下这样的一个问题:你要对输入的数

2021-08-06 18:36:34 3684

原创 Flink重复注册定时器会发生什么

对于一些应用场景,需要定时器来告诉我们什么时候结束并输出结果,我们可能会在KeyedProcessFunction的实现类中写下如下的代码: @Override public void processElement(ItemViewCount value, Context ctx, Collector<String> out) throws Exception { // 每来一条数据,存入List中,并注册定时器

2021-08-05 15:44:05 965 1

原创 lucence fst初探

我们知道FST能够节约大量的内存,但是很少由文章讨论其内部的存储结构,本文以一个构建好的FST数据为例,分析内部是如何存储,以及如何使用该存储结构查找对应的值。分析程序:package com.example;import org.apache.lucene.util.BytesRef;import org.apache.lucene.util.BytesRefBuilder;import org.apache.lucene.util.IntsRefBuilder;import org.

2021-08-03 16:40:59 241

原创 记录一次ant design pro问题解决的过程

学习教程到openapi时发现示例程序登录不能成功,对比之前发现是src/services下的文件内容发生了变化,而这正式openapi的核心所在。不同之处在于新生成的api.ts多了params参数,实际登录调用是并没有传入。那么问题就在openapi了,但是理解openapi的生成并不是一件容易的事,所先如何调试是一个问题,解决方法见博客。第二个问题是,openapi是如何生成这些文件的,流程理解见博客。剩下的问题在于做好了这些准备后,如何解决params参数的问题。 ...

2021-06-24 15:53:24 1179

原创 Umi插件命令执行流程图

2021-06-24 15:30:19 331

原创 Umi开发插件补遗

umi插件开发目前找到有效地资料只有在官网上有限的一点内容,这个内容实际上是不完整的,本文将完善这部分内容,后面假设插件名为plugin-my。官方教程主要的问题在于resetMainPath函数的缺失,resetMainPath函数的类型很容易判断,如下:function(routes:any[],mainPath:string),这个函数的作用就是将routes中"/"对应的页面改为mainPath设置的页面。 但问题在于routes的结构并不是很清晰,不知道如...

2021-06-24 00:26:00 742

原创 ant-design-pro v5 安装

用npm会有依赖问题,create-umi版本0.26.0,折腾了半天后实在不想折腾,换成yarn后解决。参考链接如下:https://blog.csdn.net/ren365880/article/details/108967683

2021-06-21 15:33:10 400

原创 Javascript对象原型依赖图

参考Javascript高级程序设计和此篇博文而作,彻底理清楚Javascript对象创建的内部原理!

2021-05-02 22:48:36 164

原创 我对云计算的总结

首先看云计算的分类,比较流行的一种分法是美国NSTI提出的三层服务:IaaS,PaaS,SaaS。现在google apps,以及微软的在线软件都属于IaaS。比较有名的还有salesforce。而在平台方面,互联网应用的有百度app engine和sina app engine

2011-07-23 01:14:05 1336

原创 linux下tomcat的catalina.out文件过大的正确处理方法!

背景知识不多说,不知道的自己去搜搜。网上流传用log4j进行分割的方法一般不正确。类似方法如下:通过安装log4j,配置log4j.properties来分隔catalina.out,配置文件如下:01.log4j.rootLogger=INFO,CATALINA 02.log4j.logger.com.danga.MemCached.MemCachedClient=WARN,CATALINA 03.#log4j.appender.CONSOLE = org.apache.log4j.Consol

2011-05-06 00:31:00 5908 1

创龙TMS320C665x源码

创龙TMS320C665x开发板源码,DSP和FPGA都有

2023-11-26

scala编程第三版源码.zip

scala编程第三版源码

2021-11-08

MySQL是怎样运行的:从根儿上理解MySQL.7z

太实惠了

2021-09-16

developing windows applications c#.pdf

很难找到的windows 10 universal windows platform(uwp)的开发书籍,给大家分享,希望喜欢。

2019-09-26

The RF in RFID Passive UHF RFID(只读-带目录)

这本书应该是最好的书籍,作者出了第二版,但是下不到。。。

2018-05-16

PCI Express System Architecture

PCI Express的系统架构,Mindshare出版的英文原版!好书不容错过,了解PCI最省力的书籍。

2010-09-08

3G Evolution HSPA and LTE for Mobile Broadband second edition

2008年最新出版的LTE图书,内容非常详尽。在第1版基础上新增270页的LTE内容,强烈推荐。 《3G EVOLUTION HSPA AND LTE FOR MOBILE BROADBAND_2nd_edition》 Authors:Erik Dahlman, Stefan Parkvall, Johan SkoldPer Bemin Publisher: Academic Press Number of Pages: 648 Published: 2008-10-03 List price: $119.95 ISBN-10: 0123745381 ISBN-13: 9780123745385

2010-03-10

大教堂与集市中英文对照版

中英文对照版 介绍开源文化的力作 他说,世界上的建筑可以分两种:一种是集市,天天开放在那里,从无到有,从小到大;还有一种是大教堂,几代人呕心沥血,几十年才能建成,投入使用。 当你新建一座建筑时,你可以采用集市的模式,也可以采用大教堂的模式。

2009-09-20

Advanced programming in the unix environment (2nd edition).chm

unix环境高级编程英文chm版(2nd),很不错的说

2009-07-17

空空如也

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

TA关注的人

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