原创 CentOS7 安裝bazel

先決條件:openjdk1.8 ,openjdk-devel1.8 1. 操作系統需求 centos7 2. 資源庫下載 https://docs.bazel.build/versions/master/install-redhat.ht

原创 Exception in thread "main" java.lang.NoSuchMethodError: org.codehaus.commons.compiler.Location

今天寫sparksql 應用出現了這個問題:  Exception in thread "main" java.lang.NoSuchMethodError: org.codehaus.commons.compiler.Location.

原创 Neo4j入門操作

最近因爲項目建模需要使用到圖數據庫,搜了一圈,發現Neo4j就不錯,於是開始鼓搗。 1. 安裝  下載地址:https://neo4j.com/download-center/ 官方提供了很多可選的下載項,企業版,社區版,桌面版。這裏我下

原创 Idea開發調試wordCount

好久沒搞了。來複習一下,首先我們嘗試本地開發調試 首先我跟着有位博主的步驟出發: https://blog.csdn.net/programmer_wei/article/details/45286749 然後報了一個錯誤: Except

原创 關於spark -sql 時間戳類型比較的一個小坑

最近項目組的大哥遇到一個奇怪的問題。spark表插入的時間戳數據帶毫秒,但是最後的毫秒數據都是0,即如下格式: 2018-08-31 16:46:30.0 這種情況下,在做如下條件查找時,就無法匹配下相等的數據,即如果表中有2018-0

原创 spark-sql 時間戳類型比較源碼修改

上次說到時間戳和字符串比較時會把時間戳cast成string 再做比較關於spark -sql 時間戳類型比較的一個小坑,這個過程中對精度做了處理。項目組的大哥最近頻繁使用毫秒值爲0的數據進行查詢比較。他覺得這是一個bug,讓我去修改一下

原创 菜鳥的Spark 源碼學習之路 -8 RDD-依賴關係

RDD之間的依賴關係,是spark stage劃分的重要依據。總所周知,RDD和它依賴的父RDD(s)的關係有兩種不同的類型,即窄依賴(narrow dependency),寬依賴(wide dependency)。 stage的劃分就在

原创 菜鳥的Spark 源碼學習之路 -3 TaskScheduler源碼 - part3

上一篇文中講到TaskScheduler中的任務啓動流程:https://blog.csdn.net/u012543819/article/details/81510632 作者繼續查看源碼發現,TaskScheduler還有許多關於ta

原创 菜鳥的Spark 源碼學習之路 -6 Memory管理源碼 -part3 MemoryPool

上文中講到MemoryManager的源碼,它跟蹤計算內存和存儲內存的使用情況,提供內存管理的入口,這次我們就從計算內存和存儲內存兩個方向深入學習spark的內存管理。 1. ExecutionMemoryPool /** * Im

原创 Spark2.3實現 sqlserver函數for xml

sqlserver支持for xml path()語法,將返回結果嵌套在指定的xml標籤中。項目組之前在spark2.0上實現了該功能。遷移到2.3時,由於原生spark修改較多,出現了很大的兼容問題。我的工作就是讓這個函數重新運作起來。

原创 菜鳥的Spark 源碼學習之路 -7 Storage管理源碼 -part1 BlockManagerMaster

上一次我們瞭解內存管理中MemoryPool的源碼實現,這一次我們從下往上,學習spark的存儲管理。Storage包結構如下: 本次我們從Block的管理入手開始學習存儲管理。從上面的包中我們可以看出,Block管理主要包含Block

原创 菜鳥的Spark 源碼學習之路 -8 Shuffle

上一次研究的BlockManager相關的源碼實現。本次進入Shuffle管理的學習。 Shuffle是spark的一個重要的過程抽象,它涉及到以下幾個問題: 1. 數據重新分區 2.數據傳輸 3.數據壓縮 4.磁盤IO 1. 結構概覽

原创 菜鳥的Spark 源碼學習之路 -4 DAGScheduler源碼 - part1

前面的幾篇文章中,我們深入理解的taskScheduler的task提交,管理,資源的管理等,對TaskScheduler有了一個比較系統的瞭解: TaskSheduler part1 TaskSheduler part2 TaskShe

原创 Spark2.3 在sql自定義IsNumeric 函數

博主前端時間一個在看Spark-core的源碼。最近因爲項目上的事,趕鴨子上架被叫過去改bug了。因爲項目組對spark源碼做了很多修改,這次在遷移到spark2.3時,需要把之前修改的功能也一併遷移過來。遇到的第一個問題就是實現一個Is

原创 菜鳥的Spark 源碼學習之路 -6 Memory管理源碼 -part2 MemoryManager

上文中 菜鳥的Spark 源碼學習之路 -6 Memory管理源碼 -part1 功能概覽,對Spark Memory管理的實現做了一個整體的瞭解,這次我們從MemoryManager開始深入瞭解spark 內存管理: 首先看一下Memo