原创 Scala Learning(3): Tail Recursion定義
關於尾遞歸 ,使用Scala的兩個例子展示尾遞歸的定義和簡單實現。 例子比較 求最大公約數的函數 def gcd(a: Int, b: Int): Int = if (b == 0) a else gcd(b, a % b)
原创 Spark on Mesos: 粗粒度與細粒度實現分析 (markdown排版)
背景 Mesos粗粒度 Mesos細粒度 背景 順着昨天spark standalone實現那篇文章繼續扯淡,看看Mesos Scheduler的兩種實現的異同。 對我來說,回過頭再仔細看Spark在這一層的實現,思路
原创 Scala Learning(2): map, flatMap, filter與For表達式
本文敘述Collections裏最常見的三種操作map, flatMap, filter,與For表達式的關係。 List對三種方法的實現 map在List的實現: abstract class List[+T] { def
原创 RDD api整理
RDD[T] Transformations rdd api 備註 persist/cache map(f: T => U) keyBy(f: T => K) 特殊的map,提key flatMap(f
原创 Spark的任務調度
本文嘗試從源碼層面梳理Spark在任務調度與資源分配上的做法。先從Executor和SchedulerBackend說起。Executor是真正執行任務的進程,本身擁有若干cpu和內存,可以執行以線程爲單位的計算任務,它是資源管理系統能夠
原创 GraphX迭代的瓶頸與分析
背景 測試了一個case,用GraphX 1.6跑標準的LPA算法,使用的是內置的LabelPropagation算法包。數據集是Google web graph,(忽略可能這個數據集不是很合適),資源情況是standalone模式,18
原创 Flink SQL 1.0+ UT Cases
Flink SQL UT Case 截止當前flink master分支最新的代碼(未完成的1.1版本),Flink Table項目的UT,batch sql(即直接調用.sql())的sql, logicalPlan, physical
原创 搬家與流式處理
這兩天搬家,身體很勞累,腦子算是沒閒着。在把貨物搬上樓的過程中,我琢磨了個自認爲很高效的方法,本質和流式處理很像。 需求與嘗試 一車貨物,零零散散打了些包,停在樓下,需要搬到五樓去。勞力有三人。一開始的方案是每個人自己拿幾樣東西,自管自上
原创 GraphX 圖數據建模和存儲
背景 簡單分析一下GraphX是怎麼爲圖數據建模和存儲的。 入口 可以看GraphLoader的函數, def edgeListFile( sc: SparkContext, path: String,
原创 Marathon on OS X初體驗
本文描述了在OS X上安裝使用Marathon的過程。 Marathon簡介 Marathon是Mesosphere公司爲Mesos生態圈打造的一個輕量級、擴展性很強的調度long-running service的調度框架。支持RESTf
原创 GraphX實現N度關係
背景 本文給出了一個簡單的計算圖中每個點的N度關係點集合的算法,也就是N跳關係。 之前通過官方文檔學習和理解了一下GraphX的計算接口。 N度關係 目標: 在N輪裏,找到某一個點的N度關係的點集合。 實現思路: 1. 準備好邊數據
原创 Apache Zeppelin安裝及介紹
背景 Apache Zeppelin提供了web版的類似ipython的notebook,用於做數據分析和可視化。背後可以接入不同的數據處理引擎,包括spark, hive, tajo等,原生支持scala, java, shell, m
原创 大半年來做的計算這點事
寫一篇隨筆,談談大半年來做的一些事情。 簡單地說,從去年三月份到現在,一直在做一個計算框架:BH,一個core。我對自己的要求是,掌握Spark(和Flink),然後忘了它。所以層面core基本和spark core的層次是一致的,核心是
原创 阿里雲數據庫團隊招聘
阿里雲-大數據計算和存儲研發專家-雲數據庫 崗位描述 負責自研大數據計算引擎的開發工作,統一支持在線的SQL計算、流計算、圖和迭代計算 負責自研大數據在線存儲引擎的開發工作,統一支持關係存儲、KV存儲、非結構化存儲 負責大規模數據場景下
原创 Zookeeper ipv6的坑
問題 zookeeper拋這樣的錯誤: [main-SendThread(localhost:2000)] ERROR org.apache.zookeeper.ClientCnxn - Unable to open socket t