原创 makefile學習

[-] Makefile 介紹 1 Makefile的規則2 一個示例3 make是如何工作的4 makefile中使用變量5 讓make自動推導6 另類風格的makefile7 清空目標文件的規則 Makefile 總述 1

原创 解決hash衝突

開放地址法: 1.線性探測法        線性再散列法是形式最簡單的處理衝突的方法。插入元素時,如果發生衝突,算法會簡單的從該槽位置向後循環遍歷hash表,直到找到表中的下一個空槽,並將該元素放入該槽中(會導致相同hash值的元素挨

原创 開始在簡書寫作

mark一下,今天開始在簡書寫作 點贊 收藏 分享 文章舉報 sddyljsx 發佈了50 篇原創文章 · 獲贊 24 · 訪問量 13萬+ 私信

原创 spark 源碼編譯發佈

源碼 將項目源碼clone源碼到本地 項目地址:https://github.com/apache/spark git clone [email protected]:apache/spark.git 編譯 spark項目同時支持maven

原创 MySQL索引背後的數據結構及算法原理

MySQL索引背後的數據結構及算法原理     寫在前面的話 在編程領域有一句人盡皆知的法則“程序 = 數據結構 + 算法”,我個人是不太贊同這句話(因爲我覺得程序不僅僅是數據結構加算法),但是在日常的學習和工作中我

原创 spark應用調試(idea 環境)

spark應用調試(idea 環境) spark shell可以比較方便的分步執行調試spark應用程序,但有時候不是很方便。下面介紹一種直接在idea中調試spark程序的方法。 maven 新建工程 ​ 這個不多贅述,注意

原创 spark sql 2.3 源碼解讀 - Optimizer (4)

得到 Resolved Logical Plan 後,將進入優化階段。後續執行邏輯如下: // 如果緩存中有查詢結果,則直接替換爲緩存的結果,邏輯不復雜,這裏不再展開講了。 lazy val withCachedData: Logical

原创 spark sql 2.3 源碼解讀 - whole stage codegen (8)

whole stage codegen 是spark 2.0 以後引入的新特性,所以在最後單獨把這一塊拿出來講一下。 相關背景可以看spark官方的jira:https://issues.apache.org/jira/browse/SP

原创 spark sql 2.3 源碼解讀 - Execute (7)

終於到了最後一步執行了: /** Internal version of the RDD. Avoids copies and has no schema */ lazy val toRdd: RDD[InternalRow] = exe

原创 96. Unique Binary Search Trees

Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example, Given n = 3,

原创 spark sql 2.3 源碼解讀 - Preparations (6)

上一章生成的Physical Plan 還需要經過prepareForExecution這一步,做執行前的一些準備工作,代碼如下: / executedPlan should not be used to initialize any S

原创 spark sql 2.3 源碼解讀 - antlr4 && SparkSqlParser (2.3)

​ 接着上一節,繼續講。還是以 SELECT A.B FROM A 爲例。 ​ 查看AstBuilder邏輯,遍歷訪問,最終會訪問到querySpecification節點: override def visitQueryS

原创 spark sql 2.3 源碼解讀 - Analyzer (3.1)

本章將介紹analyzer 結合 catalog 進行綁定,生成 Resolved Logical Plan. 上一步得到的 Unresolved Logical Plan將會執行: lazy val analyzed: LogicalP

原创 spark sql 2.3 源碼解讀 - Planner (5)

Optimizer得到的是最終的 Logical Plan,Planner 將Logical Plan 轉化爲 Physical Plan。 planner執行plan方法得到SparkPlan: lazy val sparkPlan:

原创 spark源碼開發調試(idea環境)

源碼項目調試 ​ 在源代碼項目對源碼修改後用idea直接進行調試工作 clone源碼到本地並編譯 ​ git clone [email protected]:apache/spark.git ​