原创 Delta Presto Integration & Manifests 機制

Delta Lake 0.5 增加了不少新特性,這篇文章主要講解其 Presto Integration 和 Manifests 機制。 該功能與我們之前平臺化 Delta Lake 實踐(離線篇) 的很多工作都較爲相似

原创 Apache Ranger KMS 部署文檔

很久沒寫過部署文檔了,不過 Apache Ranger KMS 的手動部署較爲繁瑣,網上的相關資料基本都是散裝的,因此寫了一篇進行總結。 文章目錄背景安裝部署安裝 ranger-admin安裝 ranger-kmsHDFS 配

原创 Delta 初探

文章目錄Delta LakeTransactional metadata 實現併發控制樂觀併發控制(optimistic concurrency control)使用結語 Delta Lake 在說 Delta Lake 之前,

原创 使用 aspectj 對 spark 進行攔截

文章目錄背景如何使用代碼配置結語 背景 開源產品要想用的得心應手免不了要根據公司的業務/場景對其做一些改造,如果直接在源碼的層面對其修改,當下可能用的很省心,但後期與社區代碼的合併,版本的升級的時候就相當糟心了。 對於一個平臺

原创 spark on yarn cgroup 資源隔離(cpu篇)

文章目錄環境配置背景目標資源隔離Cgroup & LinuxContainerExecutorcpu 資源隔離hard limit計算公式soft limit計算公式兩種方式的一些對比總結根據不同場景選擇限制模式開啓Cgroup後

原创 Spark withColumn 陷阱

withColumn / withColumnRenamed 是 spark 中常用的 API,可以用於添加新字段 / 字段重命名 / 修改字段類型,但是當列的數量增加時,會出現嚴重的性能下降現象,本文將分析出現該現象的原因以

原创 大數據平臺資源治理經驗總結

文章目錄背景組件HDFS爲什麼需要治理爲什麼難以推動需要做什麼部分效果圖SPARK & YARN爲什麼需要治理需要做什麼部分效果圖計費後記 背景 大數據平臺早期是野蠻生長的,作業直接在終端提交運行,處於一種完全無管理的自由狀態。在

原创 不通過 Spark 獲取 Delta Lake Snapshot

背景 Delta Lake 進行數據刪除或更新操作時實際上只是對刪除數據文件進行了一個 remove 標記,在進行 vacuum 前並不會進行物理刪除,因此一些例如在 web 上獲取元數據或進行部分數據展示的操作如果直接從表路徑下

原创 Delta Lake 分區表覆蓋寫入操作

Delta Lake當前版本(0.5)只支持API操作的,但是實現 Insert SQL 語法也不難,可以參考 Delta Lake 平臺化實踐(離線篇),需要注意的是 Delta Lake 中的分區表覆蓋寫入操作。 文章目錄

原创 Delta Lake 平臺化實踐(離線篇)

Delta Lake 是什麼?簡單的說就是爲大數據場景添加了事務功能,並且支持了 update/delete/merge into 等功能, Delta Lake 初探。 本文是在 Delta Lake 0.4 與 Spark

原创 Spark 小文件合併優化實踐

隨着 Delta Lake 的開源以及 spark3 preview發佈,很多 spark/大數據 的痛點都看到了一個新的解決方向,大數據刀耕火種的時代可能就要翻篇了。這篇文章要是再不寫,怕是以後也沒機會放出來了_(:з」∠)_

原创 Apache Druid 平臺化 - 數據接入篇

文章目錄數據接入背景方案設計druid 數據接入的一些經驗一. hive 數據導入自動填充分區二. zstd 編碼支持三. keberos四. druid-0.15.0 進程自動退出五. druid 對數據進行 ETL 數據接入

原创 Spark 數據讀取冷啓動優化分析

有時候會發現即使是讀取少量的數據,啓動延時可能也非常大,針對該現象進行分析,並提供一些解決思路。 文章目錄背景InMemoryFileIndexbefore spark 2.1after spark 2.1優化 HDFS 獲取

原创 Delta Lake 初探

文章目錄Delta LakeTransactional metada 實現併發控制樂觀併發控制(optimistic concurrency control)使用 Delta Lake 在說 Delta Lake 之前,不得不說下

原创 Druid 消費一個 kafka topic 發送到不同數據源

文章目錄背景解決辦法一. 過濾標識在消息體中二. 過濾標識在 header 中源碼修改邏輯 背景 數據採集時,爲了避免在 kafka 中創建大量的 Topic ,採集時會將小的數據源寫入一個共享 Topic 中,以某個字段作爲標識。這