自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (2)
  • 收藏
  • 关注

原创 Producer 性能调优公式及验证

背景Kafka的Producer有很多的参数可以影响到Producer的写性能. 大多数人应该会对这些参数比较困惑, 往往会混淆名称相似的参数; 即使能够区分每个参数的意义,也很难知道如何通过组合这些参数达到Producer的比较高的性能.本人通过研究源码加上实践和思考,总结出了一个计算Producer的吞吐的公式, 这个公式包含Producer端重要的调优的参数,可以帮助大家直观

2017-07-24 16:39:28 1136 1

原创 Kafka所有JMX的MBean对象列表

kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=StopReplicakafka.network:type=RequestMetrics,name=ResponseQueueTimeMs,request=ListGroupskafka.server:type=DelayedOperationPurgator

2017-05-27 17:49:06 4152 7

原创 Kafka Consumer各版本分析总结

又是很久没有写技术文章了, 平时的东西会记录在自己的本地, 比较方便; 但是搬上Blog的过程需要重新的总结和回顾甚至排版, 真没有那么多时间弄这些. 进入正题. Kafka从0.7版本到现在的0.10版本, 经历了巨大的变化; 而其中, 首当其冲的是Consumer的机制.Kafka最早设计Consumer的时候, 大方向比较明确, 就是同时支持Subscribe功能和Messa

2017-04-07 15:07:33 3023

原创 架构及未来-第4章

领导力是: 影响一个组织或者个人达成某个特定目标的力量.领导力是对他人的一种影响, 而非一种职级上的区别. 所以每个人都可以具有领导能力,都可以作为领导, 这没有上下级阻碍在前面.领导力的概念模型:  领导力由多个因素共同决定:        天生的: 外表, 外箱型性格, 智商;        环境影响形成的: 魅力, 感召力, 性格, 仪表;        做出的成绩:

2017-02-02 11:29:21 497

原创 RDD Pipeline 源码图解

在面试候选人Spark相关知识点时, 我总喜欢问这么一个问题:      如果一个源数据有1亿行, 对这个源数据分别做map()操作和flatMap()操作, 过程是下面描述的那种流程, 为什么?        1 每读1条数据, 顺次执行map()和flatMap(), 再读取下一条;        2 对1亿条数据遍历做完map()后, 然后再重新读取一遍这1亿条数据, 做flat

2017-01-08 18:04:12 1514

原创 Spark Sort Based Shuffle源码详细解析----数据流篇----Shuffle Write流

Spark Shuffle这部分的内容比较多,  可以通过以下图示的角度对内容做细分:Spark Shuffle    ----> 模块架构    ----> 模块交互关系及时序    ----> 数据流        ----> Hash Based Shuffle        ----> Sort Based Shuffle            ----> Sh

2017-01-05 13:02:38 1800

原创 Spark描述DAG的2种Task类型解析

Spark有2个类型的Task: ShuffleMapTask和ResultTask; 设想有:  Stage1  ----shuffle-------->  Stage2 -----shuffle------>  Stage3 Stage3就是一个ResultTask, 因为是最终的action的执行;Stage2既是1个shuffle的数据读取者, 又是

2016-12-30 16:31:28 3357

原创 mapPartitions各部分执行流程解析

How-to: Translate from MapReduce to Apache Spark http://blog.cloudera.com/blog/2014/09/how-to-translate-from-mapreduce-to-apache-spark/这篇文章写得很好, 为从MR过渡到Spark提供了一个很好的指示.文章wen'zh中间关于如何模仿MR的cleanup

2016-12-30 12:15:14 1896

原创 trait底层原理分析

本文阐述了Scala语言中, trait的底层实现原理.trait中的变量是抽象变量************--------------------------trait(1):抽象变量---------------------------**************trait Property{ var name:String val value:String}cla

2016-12-23 15:53:11 681

原创 case class, object的底层实现

object和class的关系class O{ def func() { O.func(); println("No!") }}object O{ def func() { println("O!") }}都定义了func()方法,但是实际上不冲突;上述代码转化为java的结果:public final class O${

2016-12-23 14:34:22 555

原创 Spark-SQL和Hive on Spark, SqlContext和HiveContext

Hive on Spark和Spark SQL是不同的东西Hive on Spark: 是除了DataBricks之外的其他几个公司搞的,想让Hive跑在Spark上;Spark SQL: Shark的后继产品, 解除了不少Hive的依赖,且让SQL更加抽象通用化, 支持json,parquet等格式;关于Catelog和SchemaCatelog是目录的意思,从数据库方向

2016-12-22 15:27:53 8494

原创 对时间管理方法本质的理解和应用

自省很重要,隔几天就花点时间坐下来静一静,思考一下近来获得的知识,领悟的心得,应该改进的地方,要前进的方向, 纠正偏离的趋向.最近的一份工作,工作内容不甚理想。我承接了大量沟通和协作方面的事情,且从整体工作流程来看,我在流程中以一个单点的形式存在(我离职,部门会将为这种单点方式付出代价,懂HA的,应该都懂的),上下对接几十种需求,工作量是巨大的。从工作内容来说,我的

2016-12-22 14:05:36 1031

原创 详解New AggregationGroup

1 重要但隐藏的概念kylin的一些概念,文档中不会特别说明,但是如果你想了解Kylin的内部原理时,就必须需要理解。1.1 什么是Base Cuboid如一个需要通过kylin计算的hive表的维度为: [A, B, C], 那么[A,B,C]这个整体的维度组合, 就叫做Base cuboid.1.2 什么是includes数组一个Aggregation

2016-12-20 16:41:53 1714

转载 如何调试Kylin源码

1 Kylin运行的几个部分1.1 Tomcat配置系统大家知道, Kylin有一个比较友好的对外Web配置系统, 底层是基于tomcat的服务.1.2 Shell程序Kylin在运行一些与Hive, HBase的命令时,是使用shell命令直接执行的.1.3 分布式计算1.5之前, Kylin的底层系统使用的是MR; 1.5以后, Kylin支持了

2016-12-20 16:38:44 3183 2

原创 如何计算cuboid的数量

针对用户配置了各种Select Rules, 如何确定最终的cuboid数量呢? 知道了如何评估cuboid数量,也就可以评估出计算量的大小。设有: A, B, C, D, E, F, G, H, I 这9个维度, 那么cuboid的总数为2^9 = 512个.是怎么计算出来的呢? 两种方法:    1 C09 + C19 + C29 + C39 + C49 + ..... C99

2016-12-20 16:36:49 1223

原创 Spark Streaming对Exactly Once的实现原理

昨天看到了这篇文章: "为什么Spark Streaming + Kafka很难保证exactly once?"  看过后,对作者对Exactly Once的理解不敢苟同,所以想写这篇文章,阐述一下我对Spark Streaming保证Exactly Once语义的理解。  Exactly Once实现的整体性  首先一个很重要的道理是: 整个系统对exactly once的保证,从来都不

2016-09-21 11:27:06 5793 2

原创 多公钥下指定公钥进行ssh验证git权限

公司采用的是Atlassian的git平台,与github,gitlab类似,都可以在用户空间创建repo代码库。但是多人在同一台服务器上使用同一个work账号进行工作时,同一个public key(git的加公钥的ssh验证方式),只能被一个用户使用进行验证,也就是说: 机器的public key--用户绑定了.  解决方法:    1 重新生成一个新的公私钥对:         s

2016-08-24 12:22:37 2032

原创 从另一个角度观察Spark Shuffle过程

大部分将Spark Shuffle的文章,都是从读写过程,与MapReduce对比等角度来阐述的,容易割裂开各模块在Shuffle过程中的关系及相互配合的联系。本人在读这部分源码的过程中,认为理清Applicatoin, Job, Stage, Task, ApplicationMaster, Executor这些模块间的协作,及如何完成Shuffle中间文件的定位,是比较重要的,可以让人有整

2016-08-06 19:27:09 841

原创 在IDEA中调试运行Spark SQL

昨晚想通过调试的方式阅读一下Spark SQL的源码, 用spark-sql命令行需要跨进程调试,太麻烦,于是尝试了一下在IDEA中运行和调试.结果不出所料,虽然最终可以在IDEA中成功运行了,不过中间还是遇到了不少问题,在这篇文章中总结一下.应用程序比较简单:case class Person(name: String, value: String)object SparkS

2016-08-04 11:07:35 7308

原创 YARN, MR History Server和Spark History Server

YARN, MR History Server和Spark History Server三者的区别:今天听到有人说, "Yarn自带的History Server"如何如何之类的。看来还有很多人把history server当做是为YARN的应用提供服务的功能。所以我想,还是有必要梳理一下YARN, YARN中的history server,以及spark的history server。

2016-08-02 00:23:07 4185

原创 Spark 源码调试一路通

现在越来越多的人加入到了学习 Spark 源码的队伍中来。但是如果只是单纯阅读代码,不动手亲自去跟踪和调试,往往无法很连贯地学习和理解,经常会出现无法看清代码的上下文跳转,无法理解代码含义等问题。这篇文章为大家介绍如何在真实环境中远程调试 Spark 的源码,为大家能够深入理解 Spark 核心原理铺平道路。环境先介绍一下这篇文章的环境。调试工具: IntelliJ IDE

2016-08-02 00:09:19 1046 1

原创 YARN 内存参数终极详解

很多朋友在刚开始搭建和使用 YARN 集群的时候,很容易就被纷繁复杂的配置参数搞晕了:参数名称相近、新老命名掺杂、文档说明模糊 。特别是那几个关于内存的配置参数,即使看好几遍文档也不能完全弄懂含义不说,配置时一不小心就会张冠李戴,犯错误。如果你同样遇到了上面的问题,没有关系,在这篇文章中,我就为大家梳理一下 YARN 的几个不易理解的内存配置参数,并结合源码阐述它们的作用和原理

2016-03-02 17:37:25 9959 2

原创 YARN环境中应用程序JAR包冲突问题的分析及解决

Hadoop框架自身集成了很多第三方的JAR包库。Hadoop框架自身启动或者在运行用户的MapReduce等应用程序时,会优先查找Hadoop预置的JAR包。这样的话,当用户的应用程序使用的第三方库已经存在于Hadoop框架的预置目录,但是两者的版本不同时,Hadoop会优先为应用程序加载Hadoop自身预置的JAR包,这种情况的结果是往往会导致应用程序无法正常运行。下面从我

2016-03-02 16:43:12 2514

驱动源代码

三个文件夹,sys是协议驱动,sample是应用的简单例子,inc是协议驱动编译的资源文件。

2008-01-24

M ic r o s o f t V isu a l C + + 6 .0.pdf

V isu a l C + + 6 .0

2007-11-15

空空如也

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

TA关注的人

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