原文:Flink Sql 之 Calcite Volcano優化器(源碼解析)

Calcite作為大數據領域最常用的SQL解析引擎,支持Flink , hive, kylin , druid等大型項目的sql解析 同時想要深入研究Flink sql源碼的話calcite也是必備技能之一,非常值得學習 我們內部也通過它在做自研的sql引擎,通過一套sql支持關聯查詢任意多個異構數據源 eg : mysql表join上 hbase表在做一個聚合計算 因為calcite功能比較多, ...

2021-10-19 16:59 2 1677 推薦指數:

查看詳情

apache calcite 優化(二)

緊接上篇文章Apache Calcite 處理流程詳解(一),這里是 Calcite 系列文章的第二篇,后面還會有文章講述 Calcite 的實踐(包括:如何開發用於 SQL 優化的 Rule)。本篇文章主要介紹 Apache Calcite 優化部分的內容,會先簡單介紹一下 RBO 和 CBO ...

Tue Nov 05 08:37:00 CST 2019 0 1029
fxjwind Calcite分析 - Volcano模型

參考,https://matt33.com/2019/03/17/apache-calcite-planner/ Volcano模型使用,分為下面幾個步驟, 1和2 初始化 addRelTraitDef,就是把traitDef加到這個結構里面 3. ...

Fri Aug 09 18:47:00 CST 2019 0 662
Flink table&Sql中使用Calcite

Apache Calcite是什么東東 Apache Calcite面向Hadoop新的sql引擎,它提供了標准的SQL語言、多種查詢優化和連接各種數據源的能力。除此之外,Calcite還提供了OLAP和流處理的查詢引擎。它2013年成為了Apache孵化項目以來,在Hadoop中越 ...

Wed Dec 19 19:40:00 CST 2018 0 4266
源碼Flink sql 流式去重源碼解析

本文基於 flink 1.12.0 之前嘗試了一下 flink sql 的 去重和Top n 功能,只是簡單的看了下官網,然后用 sql 實現了功能,但是還有些疑問沒有解決。比如:不使用 mini-batch 模式,去重的結果很單一,降序就只輸出第一條數據(升序就一直輸出最后一條) 為了解 ...

Thu Mar 18 05:12:00 CST 2021 0 555
Flink sql 之 TopN 與 StreamPhysicalRankRule (源碼解析)

基於flink1.14的源碼解析 公司內有很多業務方都在使用我們Flink sql平台做TopN的計算,今天同事突然問到我,Flink sql 是怎么實現topN的 ? 蒙圈了,這塊源碼沒看過啊 ,業務要問起來怎么辦,趕快打開源碼補一下 拿到這個問題先冷靜分析一下范圍 首先肯定屬於 ...

Thu Oct 21 01:52:00 CST 2021 1 222
Flink SQL Window源碼解析

文章目錄 一、概述 二、Window分類 1、TimeWindow與CountWindow 2、TimeWindow子類型 Tumble Window(翻轉窗口) Hop Wind ...

Wed Nov 27 05:32:00 CST 2019 0 770
基於calcite做傻瓜式的sql優化(三)

上一篇:基於calcite做傻瓜式的sql優化(二) 上一篇說到的是Hive是如何對sql進行解析,生成ASTNode 那么Hive拿到ASTNode之后,就會觸發:BaseSemanticAnalyzer.analyze這個方法; 這個方法非常的重要,從AST到task ...

Tue Nov 24 07:34:00 CST 2020 3 1396
基於calcite做傻瓜式的sql優化(二)

上一篇:基於calcite做傻瓜式的sql優化(一) 因為主要想借助hive的思路來實現對sql優化,所以這一篇主要是梳理一條sql在hive內部大概是什么樣的生命周期 首先通過一張圖看下,內部sql大概執行流: sql經過一系列的規則處理后,最后變成task tree ...

Tue Nov 24 05:42:00 CST 2020 0 1149
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM