原创 Apache Kylin基本原理與常見優化

一、基本原理 Apache Kylin是個開源分佈式OLAP引擎,其基本原理是數據立方和預計算。 Kylin一般是作爲數據倉庫的應用層引擎,對業務提供SQL查詢分析服務,針對數據維度多、數據基數大的場景,Kylin預計算可以保證在

原创 《Streaming 102》: Beam模型

寫在前面 Akidau對Streaming System提出了五個基本概念,其中EventTime/ProcessTime和Window在《Streaming 101》已經介紹過了。如果不熟悉EventTime和ProcessTi

原创 《Streaming 101》: 當我談流計算時,我談些什麼

最近正在看Streaming Systems這本書、這本書前兩章基本是從作者的博客Streaming 101和Streaming 102整理得到的。這兩篇博客實在是太經典,強烈建議每個做數據處理領域的工程師都仔細學習、反覆體會。

原创 《SparkSQL內核剖析》【物理計劃篇】

一、概覽 物理計劃是將Spark SQL生成的邏輯算子樹映射成物理算子樹,並將邏輯計劃的信息映射到Spark Core模型中的RDD、Transformation、Action的過程。生成物理計劃後,一條SQL語句就變成了可以執行

原创 《SparkSQL內核剖析》【基礎篇】

一、從SQL到RDD 1. 一個簡單的例子 樣例數據 test.json {"name":"上海灘","singer":"葉麗儀","album":"香港電視劇主題歌","path":"mp3/shanghaitan.mp3"},

原创 淺談從Google Mesa到百度PALO

最近在研究OLAP相關的技術,正好看到Google 2014年的論文《Mesa: Geo-Replicated, Near RealTime, Scalable Data Warehousing》,以及百度最近2017年開源的基於Mesa

原创 SQL子查詢的優化

本文作者: Eric Fu 本文鏈接: https://ericfu.me/subquery-optimization/ 版權聲明: 本博客所有文章除特別聲明外,均採用 BY-NC-SA 許可協議。轉載請註明出處! 子查詢(S

原创 《SparkSQL內核剖析》【Aggregation篇】

這篇文章討論Spark SQL中聚合相關的內容。 聚合表達式 我們先來看一條簡單的聚合語句 df.groupBy("xxx").count("yyy") 這樣一個聚合查詢,在Spark SQL中是怎麼表示的呢?核心的部分就是分組

原创 《SparkSQL內核剖析》【Thrift Server篇】

寫在前面 前兩天,我司開發環境Zeppelin在跑一個統計任務時,掛了,報錯信息如下: Thrift Server通信失敗了,具體原因沒有深究。然而,Thrift這個看似熟悉卻又陌生的詞彙吸引了我的注意力。碰巧今天在學習《Spa

原创 《SparkSQL內核剖析》筆記【物理計劃篇】

一、概覽 物理計劃是將Spark SQL生成的邏輯算子樹映射成物理算子樹,並將邏輯計劃的信息映射到Spark Core模型中的RDD、Transformation、Action的過程。生成物理計劃後,一條SQL語句就變成了可以執行

原创 從跳錶到Redis有序集合

一、Spark源碼系列 Spark源碼閱讀系列停更了好久,因爲一直沒能達到想要的效果。寫了一篇Spark物理計劃生成,讀下來味同嚼蠟,暫時不打算放出來了。最近偶然遇到《如何閱讀一份源代碼》,文中說“寫代碼是表達自己,讀代碼是在理解別人

原创 深入理解HBase系統架構

一、寫在前面 最近在整理HBase相關的資料,發現國外一篇通俗易懂、深入淺出的博客介紹了HBase系統架構。本文摘錄部分核心內容,歡迎有興趣的讀者點擊這裏查看原文。在閱讀本文前,讀者可以嘗試回答以下幾個問題: HBase數據存儲分佈

原创 《SparkSQL內核剖析》筆記【基礎篇】

一、從SQL到RDD 1. 一個簡單的例子 樣例數據 test.json {"name":"上海灘","singer":"葉麗儀","album":"香港電視劇主題歌","path":"mp3/shanghaitan.mp3"}, {

原创 比特幣源碼閱讀筆記【基礎篇】

比特幣源碼閱讀筆記【基礎篇】 出差坐火車ing,正好利用這段時間學習一波比特幣源代碼,比特幣源碼的主要語言是C++,測試代碼語言主要是Python。 一、區塊鏈數據結構和數字簽名算法 1. 數據結構 Merkle樹 區塊鏈, 顧名思義是由

原创 比特幣源碼閱讀筆記【網絡篇】

這篇文章總結下比特幣網絡相關內容。 2008年中本聰創造比特幣時在白皮書中這樣定義比特幣:一個點對點的電子現金系統,那時還沒有“區塊鏈”這個說法。那段時間,點對點(P2P)網絡已經有了廣泛的應用,例如Bittorrent和迅雷。P2P網絡