源码解析
文章平均质量分 80
亮亮-AC米兰
这个人什么都没留下
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kafka源码解析之十一KafkaApis
KafkaApis真正负责内部request的业务逻辑,kafka_2.10-0.8.2.0目前支持11种request请求,具体的request类别在Broker处理的request的来源中已经提到,即下图: 接下来主要叙述下各个不同request的来源,以及request的处理流程: class KafkaApis(val requestChannel: RequestChan原创 2016-04-05 21:36:24 · 5659 阅读 · 0 评论 -
Spark-Sql源码解析之八 Codegen
Codegen,动态字节码技术,那么什么是动态字节码技术呢?先看来一段代码,假设SparkPlan为Sort case class Sort( sortOrder: Seq[SortOrder], global: Boolean, child: SparkPlan) extends UnaryNode { override def requiredChildDis原创 2016-08-12 13:06:58 · 6321 阅读 · 1 评论 -
Spark-Sql源码解析之七 Execute: executed Plan -> RDD[Row]
SparkPlan如何执行呢,SparkPlan是如何转变为RDD[Row]的呢?首先看一段代码: SQLContext sqlContext = new SQLContext(jsc); DataFrame dataFrame = sqlContext.parquetFile(parquetPath); dataFrame.registerTempTable(source); String s原创 2016-08-12 13:03:25 · 3473 阅读 · 0 评论 -
Spark-Sql源码解析之六 PrepareForExecution: spark plan -> executed Plan
在SparkPlan中插入Shuffle的操作,如果前后2个SparkPlan的outputPartitioning不一样的话,则中间需要插入Shuffle的动作,比分说聚合函数,先局部聚合,然后全局聚合,局部聚合和全局聚合的分区规则是不一样的,中间需要进行一次Shuffle。 比方说sql语句:selectSUM(id) from test group by dev_chnid 其从逻辑计划原创 2016-08-12 12:57:38 · 1719 阅读 · 0 评论 -
kafka源码解析Word版
免积分下载:http://download.youkuaiyun.com/detail/wl044090432/9487835 目录内容: Kafka源码解析 目录 Kafka源码解析... 1 一. kafka诞生的背景... 2 1.1 kafka在LinkedIn内部的应用... 3 1.2 它的主要设计目标:... 3 1.3 为什么我们要使用消息系统:原创 2016-04-11 20:24:09 · 3180 阅读 · 3 评论 -
kafka源码解析之十六生产者流程(客户端如何向topic发送数据)
客户端向topic发送数据分为两种方式:1.异步,2同步。其配置为producer.type,如果为sync,则是同步发送;如果为async,则是异步发送。 客户端代码如下: import kafka.javaapi.producer.Producer; import kafka.producer.KeyedMessage; import kafka.producer.ProducerConf原创 2016-04-11 19:48:58 · 7177 阅读 · 0 评论 -
kafka源码解析之十五客户端如何创建topic
主要存在两种方式:即自动创建还是手动创建。当配置auto.create.topics.enable=true时,则如果kafka发现该topic不存在的话,会按默认配置自动创建topic。当配置auto.create.topics.enable=false时,客户端需要提前创建好topic,才可以正确地往topic发送数据,创建topic的命令如下: bin/kafka-topics.sh --原创 2016-04-11 14:30:20 · 7114 阅读 · 0 评论 -
kafka源码解析之十四TopicConfigManager
当Kakfka的topic创建之后,需要中途修改该topic的属性的时候,可以通过在/brokers/config_changes上传配置信息,触发TopicConfigManager内部的监听函数来更改topic的属性。 class TopicConfigManager(private val zkClient: ZkClient, priva原创 2016-04-11 13:42:29 · 1474 阅读 · 0 评论 -
kafka源码解析之十三KafkaHealthcheck
主要是在zk的/brokers/[0...N] 路径上建立该Broker的信息,并且该节点是ZK中的Ephemeral Node,当此Broker离线的时候,zk上对应的节点也就消失了,那么其它Broker可以及时发现该Broker的异常。class KafkaHealthcheck(private val brokerId: Int, privat原创 2016-04-11 13:41:23 · 1772 阅读 · 0 评论 -
kafka源码解析之十二KafkaController(上篇)
KafkaController比较复杂,准备花上中下三篇来介绍,其主要的内容如下: 12.1 KafkaController成为leader的过程 12.2 kafkaController的初始化(leader) 12.3 KafkaController PartitionStateMachine 12.4 KafkaController PartitionLeaderSelector原创 2016-04-11 09:17:03 · 4003 阅读 · 0 评论 -
kafka源码解析之十二KafkaController(下篇)
12.6 KafkaController内部的listener KafkaControler(leader)通过在zk的不同目录建立各种listener来达到对topic的管理和维护,其在zk的目录结构和对应的listener如下: 12.6.1 brokerChangeListener /** * This is the zookeeper listener that tri原创 2016-04-11 09:56:19 · 5401 阅读 · 0 评论 -
kafka源码解析之十二KafkaController(中篇)
12.3 KafkaController PartitionStateMachine 它实现了topic的分区状态切换功能,Partition存在的状态如下: 状态名 状态存在的时间 有效的前置状态 NonExistentPartition 1.partition重来没有被创建 2.partition创建之后被删除原创 2016-04-11 09:29:47 · 3937 阅读 · 0 评论 -
kafka源码解析之七KafkaRequestHandlerPool
KafkaRequestHandlerPool的逻辑比较简单,就是开启num.io.threads个KafkaRequestHandler,每个KafkaRequestHandler从RequestChannel . requestQueue 接受request,然后把对应的response存进responseQueues(i)队列 class KafkaRequestHandlerPool(原创 2016-03-26 16:24:37 · 2554 阅读 · 0 评论 -
kafka源码解析之六SocketServer
class SocketServer(val brokerId: Int, val host: String, val port: Int, val numProcessorThreads: Int, val maxQueuedRequests:原创 2016-03-26 15:40:01 · 2263 阅读 · 2 评论 -
kafka源码解析之三Broker的启动
正常启动kafka的命令如下: 查看kafka-server-start.sh脚本: 查看Kafka.Kafka类: object Kafka extends Logging { def main(args: Array[String]): Unit = { if (args.length != 1) { println("USAGE: java [原创 2016-03-26 14:18:49 · 4306 阅读 · 0 评论 -
kafka源码解析之目录索引
源码系列: kafka源码解析之一kafka诞生的背景 kafka源码解析之二kafka内部的专业术语 kafka源码解析之三Broker的启动 kafka源码解析之四Broker的模块组成 kafka源码解析之五Broker处理的request的来源 kafka源码解析之六SocketServer kafka源码解析之七KafkaRequestH原创 2016-04-12 09:08:17 · 2153 阅读 · 1 评论 -
kafka源码解析之十七消费者流程(客户端如何获取topic的数据)
Kafka消费数据的角色分为普通消费者和高级消费者,其介绍如下: 16.1 普通消费者 特点:1)一个消息读取多次 2)在一个处理过程中只消费某个broker上的partition的部分消息 3)必须在程序中跟踪offset值 4)必须找出指定TopicPartition中的lead broker 5)必须处理broker的变动 客户端编程必须按照以下步原创 2016-04-11 19:53:08 · 14042 阅读 · 0 评论 -
欢迎购买《Kafka源码解析与实战》
沉静了大半年终于把Kafka相关的知识整理了下,欢迎大家购买。 购买方式:登陆京东,搜索关键字:Kafka源码解析与实战。或者点击此链接https://item.jd.com/12277714.html原创 2018-01-04 15:50:15 · 1727 阅读 · 0 评论
分享