自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发

博文均为博主精心总结,从企业实战出发,提高开发中解决问题的能力

  • 博客(22)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

转载 Kafka删除历史消息的策略

1 删除策略Kafka日志管理器允许定制删除策略。目前的策略是删除修改时间在N天之前的日志(按时间删除),也可以使用另外一个策略:保留最后的N GB数据的策略(按大小删除)。为了避免在删除时阻塞读操作,采用了copy-on-write形式的实现,删除操作进行时,读取操作的二分查找功能实际是在一个静态的快照副本上进行的,这类似于Java的CopyOnWriteArrayList。Kafka消费日志删除思想:Kafka把topic中一个parition大文件分成多个小文件段,通过多个小文件段,就容易定.

2020-12-29 18:31:01 3415 2

转载 Java单例模式 双重校验锁 为何两次if判断?

内层判断:如果内层不加if判断,就会实例化多次,这是显而易见的,这就违背了单例模式的单例二字。外层判断:试图想想一种情况,当线程1走完了内层判断,对象实例化了,线程3也调用了getInstace函数,如果没有加外层的判断线程3还是要继续等待线程2的完成,而加上外层判断,就不需要等待了,直接返回了实例化的对象。我的理解:外层的判断是为了提高效率【不必synchronized等待】,里层的判断就是第一次实例化需要。转自:https://blog.csdn.net/weixin_38983929/..

2020-12-28 22:35:03 3191 1

转载 Java单例模式 双重校验锁 为啥要用volatile修饰

public class Single {private static volatile Single single;public static Single getSingle(){if (single==null){synchronized (Single.class){if (single==null){single=new Single();}}}return null;}}因为如果不用volatile修饰的话,在 single=new Sing.

2020-12-28 22:25:36 1330 1

转载 Kafka的分区分配策略

用过Kafka的同学应该都知道,每个 Topic 一般会有很多个 partitions。为了使得我们能够及时消费消息,我们也可能会启动多个 Consumer 去消费,而每个 Consumer 又会启动一个或多个streams去分别消费 Topic 对应分区中的数据。我们又知道,Kafka存在 Consumer Group 的概念,也就是group.id一样的 Consumer,这些 Consumer 属于同一个Consumer Group,组内的所有消费者协调在一起来消费订阅主题(subscrib...

2020-12-28 21:57:12 758

转载 Zookeeper 生命流程、角色职责

zk生命流程模型:Zookeeper集群模式下的系统模型,其中主要分为三个阶段。1、当Zookeeper集群在启动时,或者当leader节点出现网络中断、崩溃等情况时,Zookeeper就会进入恢复模式并选举产生新的 Leader。各个节点把自己的选票发送给集群中的所有节点,当集群中某个节点收到半数以上投个某个角色的选票后,确认自己的角色。2、在zookeeper选举成功后,准Leader和其他节点之间需要进行数据同步,以准Leader节点是数据为基准进行同步,完成这些后才对外提供服务。3、在Zo

2020-12-28 11:48:26 397

转载 Zookeeper 3种部署模式

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。1 概述  ZooKeeper(动物园管理员),顾名思义,是用来管理Hadoop(大象)、Hive(蜜蜂)、Pig(小猪)的管理员,同时Ap

2020-12-28 11:45:30 1556

转载 Haoop Map任务数和Reduce 任务数如何确定(二)

基于org.apache.hadoop.mapreduce包新版API一、Map1、Map个数的确定map的个数等于split的个数。我们知道,mapreduce在处理大文件的时候,会根据一定的规则,把大文件划分成多个,这样能够提高map的并行度。划分出来的就是InputSplit,每个map处理一个InputSplit.因此,有多少个InputSplit,就有多少个map数。2、谁负责划分split主要是InputFormat。InputFormat类有2个重要的作用:1)将输入的数据切分为

2020-12-27 11:22:28 738

转载 Hadoop之分块、分片与shuffle机制详解;设置map任务数目

一 分块(Block) HDFS存储系统中,引入了文件系统的分块概念(block),块是存储的最小单位,HDFS定义其大小为64MB。与单磁盘文件系统相似,存储在 HDFS上的文件均存储为多个块,不同的是,如果某文件大小没有到达64MB,该文件也不会占据整个块空间。在分布式的HDFS集群上,Hadoop系统保证一个块存储在一个datanode上。 把File划分成Block,这个是物理上真真实实的进行了划分,数据文件上传到HDFS里的时候,需要划分成一块一块,每块的大小由h...

2020-12-26 19:08:51 877 1

转载 Spark 内存管理 spark.executor.memory /spark.memory.fraction/spark.memory.offHeap.size【堆外内存/内存管理】 钨丝计划

spark.executor.memory 包含spark.memory.fraction;spark.memory.fraction 包含 spark.memory.storageFraction;spark 2.4.5Application PropertiesProperty Name Default Meaning spark.app.name (none) The name of your application. This will appear in.

2020-12-26 13:51:58 5117

原创 Spark speculation推测执行 配置

spark官网配置解释spark.speculation false If set to "true", performs speculative execution of tasks. This means if one or more tasks are running slowly in a stage, they will be re-launched. spark.speculation.interval 100ms How often Spark will che

2020-12-26 12:33:44 587

原创 Spark spark.driver.maxResultSize作用,报错 is bigger than spark.driver.maxResultSize

Application PropertiesProperty Name Default Meaning spark.app.name (none) The name of your application. This will appear in the UI and in log data. spark.driver.cores 1 Number of cores to use for the driver process, only in cluster

2020-12-26 12:24:14 6339

转载 Spark算子:RDD行动Action操作–aggregate、fold、lookup;reduce/fold/aggregate区别

关键字:Spark算子、Spark函数、Spark RDD行动Action、aggregate、fold、lookupaggregatedef aggregate[U](zeroValue: U)(seqOp: (U, T) ⇒ U, combOp: (U, U) ⇒ U)(implicit arg0: ClassTag[U]): Uaggregate用户聚合RDD中的元素,先使用seqOp将RDD中每个分区中的T类型元素聚合成U类型,再使用combOp将之前每个分区聚合后的U类型聚合成U类型,

2020-12-25 20:33:35 350

转载 Spark中会导致shuffle的算子

1、repartition类的操作:比如repartition、repartitionAndSortWithinPartitions、coalesce等2、byKey类的操作:比如reduceByKey、groupByKey、sortByKey、countByKey、combineByKey、aggregateByKey、foldByKey等3、join类的操作:比如join、cogroup等重分区: 一般会shuffle,因为需要在整个集群中,对之前所有的分区的数据进行随机,均匀的打乱,然后把数据

2020-12-25 18:14:38 2282

转载 Spark算子:RDD键值转换操作–combineByKey、foldByKey

关键字:Spark算子、Spark RDD键值转换、combineByKey、foldByKeycombineByKeydef combineByKey[C](createCombiner: (V) => C, mergeValue: (C, V) => C, mergeCombiners: (C, C) => C): RDD[(K, C)]def combineByKey[C](createCombiner: (V) => C, mergeValue: (C, V) =

2020-12-25 18:07:34 202

转载 Spark算子:RDD键值转换操作–groupByKey、reduceByKey、reduceByKeyLocally;groupByKey优化

关键字:Spark算子、Spark RDD键值转换、groupByKey、reduceByKey、reduceByKeyLocallygroupByKeydef groupByKey(): RDD[(K, Iterable[V])] //返回新RDD,value值类型是Iterabledef groupByKey(numPartitions: Int): RDD[(K, Iterable[V])]def groupByKey(partitioner: Partitioner): RDD[(K

2020-12-25 12:11:43 355

转载 Spark性能优化指南——高级篇(解决倾斜、Shuffle调优)-shuffle几种方式

前言本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩

2020-12-25 11:55:42 749

转载 Spark性能优化指南——基础篇(开发调优、资源调优--设置参数)

前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、 流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用 Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、性能更高。然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对Spark作

2020-12-25 11:22:12 366

转载 spark分区数,task数目,core数,worker节点个数,excutor数量梳理

输入可能以多个文件的形式存储在HDFS上,每个File都包含了很多块,称为Block。当Spark读取这些文件作为输入时,会根据具体数据格式对应的InputFormat进行解析,一般是将若干个Block合并成一个输入分片,称为InputSplit,注意InputSplit不能跨越文件。随后将为这些输入分片生成具体的Task。InputSplit与Task是一一对应的关系。随后这些具体的Task每个都会被分配到集群上的某个节点的某个Executor去执行。每个节点可以起一个或多个Executor。

2020-12-21 19:41:11 1329 1

原创 Spark操作 aggregate、aggregateByKey 实例

1. aggregate函数 将每个分区里面的元素进行聚合,然后用combine函数将每个分区的结果和初始值(zeroValue)进行combine操作。这个函数最终返回的类型不需要和RDD中元素类型一致。seqOp操作会聚合各分区中的元素,然后combOp操作把所有分区的聚合结果再次聚合,两个操作的初始值都是zeroValue. seqOp的操作是遍历分区中的所有元素(T),第一个T跟zeroValue做操作,结果再作为与第二个T做操作的zeroValue,直到遍历完整个分区。comb...

2020-12-21 17:16:15 743

原创 Java,报错UnsupportedOperationException,Arrays.asList

package com.company;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * @Author you guess * @Date 2020/12/17 19:11 * @Version 1.0 java1.8 * @Desc */public class Main21 { public static void main(String[] args) {.

2020-12-17 19:48:49 285

原创 LeetCode 259. 3Sum Smaller 三数之和比target小的triplet有多少

Given an array ofnintegersnumsand atarget, find the number of index tripletsi, j, kwith0 <= i < j < k < nthat satisfy the conditionnums[i] + nums[j] + nums[k] < target.For example, givennums=[-2, 0, 1, 3], andtarget= 2.Ret...

2020-12-15 22:10:24 254

原创 Hive case when 踩坑 --其他字段的条件判断要写在前面

SELECTCASE WHEN 1==1 then -- 这个then别忘了 case when 2 == 3 then 111111111 when 3 == 4 then 222222222 end when 2==2 then 333333end -- NULL SELECTCASE WHEN 1==1 then case when 2 == 3 then 111111111 when 3 ==.

2020-12-15 14:25:54 1979

split_csv.sh

v6.csv有200多万行,excel的一个sheet最多显示104万行左右,显示不全,那么如何切分呢? 亲测可用

2020-03-21

htmlunit-2.31.jar

htmlunit-2.31,亲测可用!能很好的完成抓取需求,能够模拟输入、点击按钮、解析结果

2018-06-10

mhd raw metaimage java读取类

亲测可用,mhd raw metaimage java读取类。mhd raw metaimage java读取类。mhd raw metaimage java读取类。

2017-10-18

quartz定时任务

不用集成Spring,代码简洁,亲测可用

2017-05-20

Struts2登录实例--亲测可用

Struts2登录实例--亲测可用,拦截器,Action,值栈......都用到了

2017-05-17

joda-time-2.3.jar

DateTime类型,方便使用

2016-11-17

commons-lang-2.5.jar

解决..java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils问题

2016-07-08

commons-configuration-1.6.jar

解决..java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration, 亲测可用

2016-07-08

android通过servlet与服务器验证用户信息

成功返回success,失败返回failed 1注意manifext.xml的权限 2 servlet project的类一定要extends httpservlet 3 servlet project中,com是包名,所以Tomcat是...classes/com/xxx.class 4 192.168.0.107是电脑的IP,需要手机电脑连接的是同一个wifi,电脑的防火墙一定要关闭

2016-03-26

全国省市县区域名称

省市县区域名称,例如: ................. 240: 云南省:昆明市 240864: 云南省 昆明市 东川区 240865: 云南省 昆明市 五华区 240866: 云南省 昆明市 呈贡县 240867: 云南省 昆明市 安宁市 ............

2015-11-17

拼图游戏C语言

拼图游戏开发,使用语言为C语言类,游戏开发,

2013-05-24

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

TA关注的人

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