原创 數據結構之Treap樹

本文轉載自:http://blog.csdn.net/yang_yulei/article/details/46005845 之前我們講到二叉搜索樹,從二叉搜索樹到2-3樹到紅黑樹到B-樹。 二叉搜索樹的主要問題就是其結構與數據相關

原创 詳解LSM Tree

裝載自:http://www.cnblogs.com/fxjwind/archive/2012/08/14/2638371.html http://www.igvita.com/2012/02/06/sstable-and-lo

原创 數據結構之AVL樹

原創文章,轉載請註明: 轉載自董的博客 本文鏈接地址: http://dongxicheng.org/structure/avl/ 1. 概述 AVL樹是最早提出的自平衡二叉樹,在AVL樹中任何節點的兩個子樹的高度最大差別爲

原创 Spark-Sql源碼解析之六 PrepareForExecution: spark plan -> executed Plan

在SparkPlan中插入Shuffle的操作,如果前後2個SparkPlan的outputPartitioning不一樣的話,則中間需要插入Shuffle的動作,比分說聚合函數,先局部聚合,然後全局聚合,局部聚合和全局聚合的分區規則是不

原创 Spark-Sql源碼解析之一 引言

1.1 Demo 以一個Spark-Sql的例子開始: public class TestSparkSql { public static void main(String[] args) { Logger l

原创 Spark-Sql源碼解析之五 Spark Planner:optimized logical plan –> spark plan

前面描述的主要是邏輯計劃,即sql如何被解析成logicalplan,以及logicalplan如何被analyzer以及optimzer,接下來主要介紹邏輯計劃如何被翻譯成物理計劃,即SparkPlan。 lazy val sparkP

原创 kafka源碼解析Word版

免積分下載:http://download.csdn.net/detail/wl044090432/9487835 目錄內容: Kafka源碼解析 目錄 Kafka源碼解析... 1 一.         kafka誕生的背景...

原创 數據庫常見索引解析(B樹,B-樹,B+樹,B*樹,位圖索引,Hash索引)

B樹        即二叉搜索樹:        1.所有非葉子結點至多擁有兩個兒子(Left和Right);        2.所有結點存儲一個關鍵字;        3.非葉子結點的左指針指向小於其關鍵字的子樹,右指針指向大於其關

原创 kafka源碼解析之目錄索引

源碼系列: kafka源碼解析之一kafka誕生的背景 kafka源碼解析之二kafka內部的專業術語 kafka源碼解析之三Broker的啓動 kafka源碼解析之四Broker的模塊組成 kafka源碼解析之五Broker處理的

原创 Spark-Sql源碼解析之八 Codegen

Codegen,動態字節碼技術,那麼什麼是動態字節碼技術呢?先看來一段代碼,假設SparkPlan爲Sort case class Sort( sortOrder: Seq[SortOrder], global: Bool

原创 數據結構之紅黑樹

 轉載自董的博客 本文鏈接地址: http://dongxicheng.org/structure/red-black-tree/ 1. 簡介 紅黑樹是一種自平衡二叉查找樹。它的統計性能要好於平衡二叉樹(AVL樹),因此,紅黑

原创 Spark-Sql源碼解析之四 Optimizer: analyzed logical plan –> optimized logical plan

Optimizer的主要職責是將Analyzer給Resolved的Logical Plan根據不同的優化策略Batch,來對語法樹進行優化,優化邏輯計劃節點(Logical Plan)以及表達式(Expression),也是轉換成物理執

原创 Spark-Sql源碼解析之七 Execute: executed Plan -> RDD[Row]

SparkPlan如何執行呢,SparkPlan是如何轉變爲RDD[Row]的呢?首先看一段代碼: SQLContext sqlContext = new SQLContext(jsc); DataFrame dataFrame = sq

原创 Spark-Sql源碼解析之三 Analyzer:Unresolved logical plan –> analyzed logical plan

Analyzer主要職責就是將通過Sql Parser未能Resolved的Logical Plan給Resolved掉。 lazy val analyzed: LogicalPlan = analyzer.execute(logical

原创 Spark-Sql源碼解析之二 Sqlparser:sql –> unresolved logical plan

前面章節講解了Spark-SQL中的核心流程,接下來主要講解如何將sql語句轉化爲UnResolved Logical Plan(包含UnresolvedRelation、 UnresolvedFunction、 UnresolvedAt