自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

soaring0121的专栏

有对米哈游有兴趣的大佬可以联系我内推下

  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 新版本 Kafka Consumer 的设计原理

  相对Producer来说,Consumer使用和设计类似,但更为复杂。因此将Consumer相关知识总结一番。顾名思义,consumer就是读取kafka集群中某些topic消息的应用程序。consumer有两个版本,老版本用Scala语言编写,其api包名为kafka.consumer.*, 分别提供high-level和low-level两种API,其缺点是用户必须自行实现错误处理和故障转...

2018-08-01 22:46:32 3055

原创 Spark Sql性能调优问题

首先我的业务场景是对大量的数据(百万级)进行cpu密集型的计算,一次全量计算需要8个小时左右。计算结果分别简单处理后写入hive和Es。在使用spark sql处理时遇到了两个性能问题:1. 由于单次计算非常耗时,因此使用dataframe.cache()后再分别写入hive和ES,但实际运算了两遍,缓存没有按预想的生效。2. 全量计算非常耗时,因此想要进行增量计算,即第一次全量计算,之后选择没计算过得计算。使用了case when, 和spark.sql.function中的when otherw

2020-09-08 01:22:08 53

原创 Lombok不生效 报错Error: java:找不到符号

Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。因此只需要在类上面添加注解@Data,Lombok会在编译的时候自动为我们添加 getter、setter、toString、equal、hashcode以及构造函数等方法。但是这次我新建了一个项目,却发现lombok并没有按预想的生效,调用POJO getter方法抛出异常。最后发现只需要进入Settings-Build,Execut.

2020-05-27 00:22:46 723

原创 夜莺以及mail-sender的安装和配置

官方安装文档https://n9e.didiyun.com/zh/docs/install/compile/1.源码编译# 该项目没有使用go module管理,需要放到github.com/didi下编译mkdir -p $GOROOT/src/github.com/didicd $GOROOT/src/github.com/didi# clone代码并编译打包,pack时会自动build,打包成一个tar.gzgit clone https://github.com/didi/nig

2020-05-11 16:26:05 378

原创 Spark Structured Streaming特性详解

本文所有内容是基于spark 2.4.3版本官方文档Structured Streaming provides fast, scalable, fault-tolerant, end-to-end exactly-once stream processing without the user having to reason about streamingStructured Stream...

2020-01-10 22:03:59 380

原创 大数据开发遇坑大杂烩

本文用于记录开发过程中遇到得一些坑,可能涉及到得大数据工具包括Hive、Presto、Spark、Flink、ES、Hadoop等,解决方案包括自己研究和网络搬运PySpark中报错:UnicodeEncodeError: 'ascii' codec can't encode characters in position 8-11: ordinal not in range(128) 在操作...

2019-12-20 17:04:55 467

原创 基于SPI机制和DataX插件热加载破坏双亲委派的思考

在开始阅读之前请先思考以下两个问题,并希望您能再接下来的文章中找到答案1. 如果我自己实现了一个新的java.lang.String类,并通过UrlClassLoader加载使用该类,能否覆盖JDK中的 java.lang.String ?2. 如果问题1的回答是不能,那用什么方式能做到覆盖JDK中的java.lang.String么?一、双亲委派 ...

2019-10-15 17:03:48 382

原创 Hive/Presto/标准SQL实现行转列和列转行

假设有以下两个表格,分别为vtable和htable,期望使用SQL实现相互转化,本文将展示如何分别使用标准SQL、Presto、和Hive实现。vtable uid key value 101 c1 11 101 c2 12 101 c3 13 102 c1 21 102 c2 22 ...

2019-08-20 18:45:49 3820

原创 java版本的Protobuf反序列化实现--支持Message、Enum和基本类型的嵌套结构

最近一个项目中用到protobuf 并且使用了protobuf-java-format包将message对象转换成json串。但最后发现转换结果中值为0的字段全都不见了,排查了很久发现是protobuf-java包中的Message.getAllFields()方法不会返回与默认值相等的字段。因此,调用Message.getAllFields()方法是无法返回所有字段的...

2019-05-29 11:54:04 2897 1

原创 关于PRESTO SQL疑问和解答

string类型时间如何转换为timestamp和date类型? 使用cast函数 CAST(t as timestamp) CAST(t as date) 如何求两个时间的差值? 使用函数:date_diff(unit,timestamp1,timestamp2)→ bigint date_diff('minute', CAST('2019-02-25 15:30:20'AS...

2019-03-05 19:21:51 886

原创 Hive SQL语法报错 及相应解决方法

Hive SQL语法与经常用的mysql语法具有一定差异性,按照写mysql的习惯写出的sql经常报错,且报错很难看出问题原因,因此在此记录出现问题的现象和解决方式Error: Error while compiling statement: FAILED: ParseException line 3:2 cannot recognize input near '(' 'SELECT' 'a'...

2019-02-21 18:19:54 1751

原创 高并发高可用的秒杀或抢券系统设计思考

对于一个秒杀系统来说,瞬时的大量请求会对后台服务造成冲击,需要保证服务的可用性以及业务的正确性。设计了一个高并发高可用的系统简要流程架构如下图:1.将商品(或券)的信息等静态数据放到cdn节点,实现动静分离2.业务请求和业务处理之间使用MQ对请求进行削峰3.读写分离:对于逻辑复杂(用户验证,风控管理,行为分析)的系统,可以将读写部署两套服务进行分离4.使用缓存:像库存这...

2018-12-18 20:17:51 3380

原创 频繁FullGC的问题排查和解决

一、问题排查1.jstat -gc 【pid】查看gc情况2.发现FullGC过多,通过 jmap -histo 【pid】查看堆中对象统计二、问题解决实际工作中,主要发现两个数据结构相关原因会导致FULL GC1. LinkedBlockingQueue$Node当数据量很大时,LinkedBlockingQueue会无限制存放数据,最终导致Allocation Fail...

2018-11-01 15:22:19 603

原创 连接kafka报错Failed to construct kafka consumer----EncryptionKey: Key bytes cannot be null!

部门kafka升级由之前的0.8版本升级到1.0以上,调试的时候报下面的错误,网上也没搜到相关内容,最后发现是因为java进程启动参数之一直指定了依赖文件路径: -Djava.ext.dirs=$BASEDIR,而这种写法会覆盖默认的ext值:jre/lib/ext,新版kafka认证对其下的包有依赖改正: -Djava.ext.dirs=$JAVA_HOME/jre/lib/ext:$BAS...

2018-09-07 19:33:43 6684

原创 Java开发遇到的那些坑

对静态成员变量使用@Autowired修饰符,导致调用变量时报错NullPointerException 接口返回对象,则对象的静态成员返回的数据为null,故需要在对象中调用的成员不能定义未静态成员 对redis进行hMGet(byte[] key, byte[]... fields)操作,如果key对应数据不存在,则会返回一个不为空的List,List的各字段值为null,需要对这种情况做...

2018-07-20 17:08:51 1032

原创 kubernetes 问题排查

K8S部署测试集群方法见http://www.cnblogs.com/zhenyuyaodidiao/p/6500830.html问题一node节点调用master节点etcd服务和apiserver失败现象:master节点etcd和apiserver服务都启动成功 service etcd apiserver status 显示服务active,但是node节点报错不可达原因:ma...

2018-07-20 17:08:28 127

原创 NIO Server简单实现

Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels and Buffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到...

2018-03-17 19:38:08 132

原创 jquery DataTabale 数据列的增删

项目里用到jquery的DataTabale插件,挺好用。不了解的请自行百度,今天遇到个问题,想要对表格里的某列进行增删操作,网上没搜到,后来机智的我终于解决了。 解决的方法就是利用DataTable的回调函数fnRowCallback。先给一个简单的表格html代码,DataTable是不需要tbody的哟!<table > <thead> <tr>

2016-03-10 17:42:34 727

原创 PHP利用JPGRAPH画图不显示的解决

刚学PHP不久,,今天一个任务需要用JPGRAPH库画图,但怎么图都出不来,在chrome里只有一个绿色的小块块,在IE里是乱码。开始一直以为是gd库的问题,看网上的网页,一阵修改php_gd.dll,取消注释神马的,但根本不鸟。后来,看到网上有人说出现乱码的原因可能是<?php前有输出,换行或空格导致,突然想到会不会是php环境设置的原因,如下图。原来就是因为ENVIRONMENT设成了development使得画图前有报错

2015-10-15 19:33:49 596

转载 C++ json类库Jsoncpp的使用

随笔- 674  文章- 1  评论- 76 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的

2015-04-28 09:52:53 1674

转载 mysql 修改密码以及忘记密码的方法

目录mysqladmin命令UPDATE user 语句SET PASSWORD 语句root密码丢失的情况(待验证)mysqladmin命令(回目录)格式如下(其中,USER为用户名,PASSWORD为新密码):mysqladmin -u USER -p password PASSWORD该命令之后会提示输入原密码,

2015-04-24 14:00:41 305

转载 多线程编程基础知识

多线程编程基础知识当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的。因此掌握多线程多任务设

2013-11-21 14:15:29 554

数据结构与算法分析-C语言描述

Data Structure & Algorithm Analysis in C (Second Edition) Author:Mark Allen Weiss Published:September 1996 Web site:http://www.cs.fiu.edu/~weiss/ Amazon Reviews: Amazon.com Book Info: 本书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树.他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材.

2013-06-01

微机系统接口课程设计(交通灯和电风扇定时开关)

(1)十字路口交通信号灯控制系统设计 8253 计数控制,用于交通信号灯的时间控制 8255 数码管显示,用于倒计时时间的显示 8259 突发事件的控制及信号灯的切换 (2)电风扇的自动定时开关控制系统设计 8253 定时 8259 中断,开关控制 8255 定时时间的输入

2009-12-16

空空如也

空空如也

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

TA关注的人 TA的粉丝

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