原创 Spark Join 源碼剖析①

一、Join 邏輯計劃生成 和 Join 相關的邏輯層的優化規則主要包含以下幾種: ReorderJoin EliminateOuterJoin 👍🏻DPP 動態分區裁剪 以及 👍🏻PushDownPredicates 中和 Join 相關

原创 Flink Partitioner

GlobalPartitioner GlobalPartitioner 分區器會將上游所有元素都發送到下游的第一個算子實例上(SubTask Id = 0) ForwardPartitioner 發送到下游對應的第一個task,保證上下游

原创 Flink 作業生成②:StreamGraph -> JobGraph

由前文我們知道,StreamGraph 表示一個流任務的邏輯拓撲,可以用一個 DAG 來表示(代碼實現上沒有一個 DAG 結構),DAG 的頂點是 StreamNode,邊是 StreamEdge,邊包含了由哪個 StreamNode 依賴

原创 Flink 作業生成①:生成 StreamGraph

一、作業生成及提交整體流程 上圖爲一個 Flink 作業的提交流程,主要可以分爲以下幾個步驟: Client 將作業 code 生成 StreamGraph(在 Batch 模式下,生成的是一個 OptimizedPlan,這裏暫不展開

原创 Calcite - 看懂 Parser.jj 中的 SqlSelect

javacc 會根據 parser.jj 中定義的相互穿插的 Token、Java 代碼來自動生成 org.apache.calcite.sql.parser.impl.SqlParserImpl 的代碼。本文期望以一個簡單的 Select

原创 Spark Task 的執行流程③ - 執行 task

本文爲 Spark 2.0 源碼分析筆記,其他版本可能稍有不同 創建、分發 Task一文中我們提到 TaskRunner(繼承於 Runnable) 對象最終會被提交到 Executor 的線程池中去執行,本文就將對該執行過程進行剖析。

原创 螞蟻金服-實時分佈式分析方向

崗位描述: 研發高性能實時分佈式數據分析引擎,包括需求調研,系統分析設計,核心模塊實現,調優與維護。 主導核心技術問題攻關,解決世界級的數據實時計算處理難題,識別和解決潛在的技術風險。 集成多種分佈式計算和存儲引擎,並結合業務場景做深度定

原创 Databricks Delta Lake 瞭解下?

Delta Lake is an open-source storage layer that brings ACID transactions to Apache Spark and big data workloads. 一、Del

原创 可能是全網最詳細的 Spark Sql Aggregate 源碼剖析 Spark Sql Aggregate 源碼剖析

Spark Sql Aggregate 源碼剖析 本文基於 Spark 2.3.0 源碼,其他版本實現可能會略有不同 縱觀 Spark Sql 源碼,聚合的實現是其中較爲複雜的部分,本文希望能以例子結合流程圖的方式來說清楚整個過程。這裏

原创 Spark SQL Limit 介紹及優化 一、概念

一、概念 1.1、GlobalLimit case class GlobalLimit(limitExpr: Expression, child: LogicalPlan) 全侷限制,最多返回 limitExpr 對應條 records。

原创 Apache Kylin 查詢流程源碼剖析

擴展閱讀: Apache Kylin 概覽 - 簡書 可能是全網最深度的 Apache Kylin 查詢剖析 - 簡書 一、Overview 1.1、通過 Kylin 查詢 其中 olap_model_660776971659583

原创 可能是全網最深度的 Apache Kylin 查詢剖析

閱讀本文前,請先閱讀: Apache Kylin 概覽 - 簡書 Apache Kylin 查詢流程源碼剖析 - 簡書 一、概覽 如上圖,sql text 到物理執行計劃主要分幾個階段: sql text -> parsed Sq

原创 Apache Kylin 概覽

Apache Kylin 介紹 一、什麼是 Kylin Apche Kylin 是 Hadoop 大數據平臺上的一個開源 OLAP 引擎。它採用多維立方體(Cube)預計算技術,可以將某些場景下的大數據 SQL 查詢速度提升到亞秒級別。相對

原创 Databricks Delta Lake 介紹

Delta Lake is an open-source storage layer that brings ACID transactions to Apache Spark and big data workloads. 一、Del

原创 螞蟻金服大數據團隊持續招人

分佈式計算系統研發 崗位描述: 基於金融級業務場景,設計和實現高效、實時、智能的分佈式計算引擎; 分佈式計算平臺的完善和優化,從穩定性、性能和功能等多方面進行架構設計實現和優化; 深入理解業務,幫助業務解決問題的同時,從中提煉出通用和潛在