原创 Hive server2慢啓動問題排查與解決

1、問題描述 在Hive升級到2.3.6版本後,啓動Hive server2需要花費15分鐘左右的時間,這對於平時調試和緊急重啓影響很大。因此查看啓動log,發現兩處疑點: 發現主要耗時就在這兩處,第一次6分多鐘第二次剛好5分鐘

原创 Hive1.1.0升級至2.3.6 踩坑記錄

1、union all 左右字段類型不匹配 Hive嘗試跨Hive類型組執行隱式轉換。隱式轉換支持類型如下表: 例: hive> select 1 as c2, 2 as c2 > union all >

原创 MapReduce框架源碼解析

基礎環境 Version: Hadoop v3.1.2 Example: MultiFileWordCount.java 先看一下整體的流程圖,之後分析源碼,加深對這張圖的理解以及瞭解圖中一些細節的實現。 由於整個流程涉及的代碼很

原创 Presto JDBC連接官方指南與坑點記錄

1、添加依賴 <dependency> <groupId>io.prestosql</groupId> <artifactId>presto-jdbc</artifactId> <version>312</

原创 Hadoop 3.2.1源碼編譯踩坑

編譯環境和步驟可以參考這篇文章,這邊主要記錄一些遇到的坑。 1、protobu只能用2.5.0版本 2、jdk1.8,CMake3.1及以上 3、用CentOS系統編譯,不支持MacOS,會卡在CMake上。 4、爲了支持Snap

原创 MapReduce框架以及Hive任務提交詳解

起因 在切Hive任務到Spark的時候,發現Spark在處理只有Hive元數據而HDFS文件塊丟失的任務時,會拋HDFS的異常InvalidInputException,而Hive在這種情況下不受影響。 因此,就去找Hive在處

原创 Spark Adaptive Execution

最近遇到了很多spark性能優化的問題,剛好找到了一篇比較全面的總結,但沒有給出具體實現方法。 所以這邊打算羅列一下計劃優化的點,慢慢抽時間研究、優化,最後打算應用到公司業務中,並爭取貢獻到spark社區。 ---------------

原创 Spark 3.0 - AQE淺析 (Adaptive Query Execution)

1、前言 近些年來,在對Spark SQL優化上,CBO是最成功的一個特性之一。 CBO會計算一些和業務數據相關的統計數據,來優化查詢,例如行數、去重後的行數、空值、最大最小值等。 Spark根據這些數據,自動選擇BHJ或者SMJ

原创 ThreadPoolExecutor詳解及線程池優化

前言 ThreadPoolExecutor在concurrent包下,是我們最常用的類之一。無論是做大數據的,還是寫業務開發,對其透徹的理解以及如何發揮更好的性能,成爲了我們在更好的coding道路上必不可少的基礎。 爲什麼用線程

原创 深入理解sun.misc.Unsafe原理

前言 Unsafe類在JDK源碼中被廣泛使用,在Spark使用off-heap memory時也會使用到,該類功能很強大,涉及到類加載機制(深入理解ClassLoader工作機制),其實例一般情況是獲取不到的,源碼中的設計是採用單

原创 Spark執行計劃分析與研究

在學習、使用和研究spark的過程中,逐漸會發現:單純看官方文檔對spark參數調優只能解決一小部分的問題,要想進一步的學習spark,進一步調優甚至在spark源碼的基礎上二次開發,我覺得收益最高的應該是學習執行計劃了。 因此在研究sp

原创 使用Relational Cache加速Spark數據分析

本文轉自雲棲社區,作者:李呈祥(司麟) 文中的Spark爲阿里雲EMR產品的Spark,博主之前也考慮過類似的問題,受到了一些啓發,所以轉載分享一下。 背景 Cache被廣泛應用於數據處理的各個領域和方向上,在目前,計算速度遠遠大

原创 java 標籤跳轉用法解析

前言 在看jdk源碼ThreadPoolExecutor中的addWorker方法的時候(ThreadPoolExecutor詳解及線程池優化),發現如下代碼: 首先這個retry不是java裏面的關鍵字,所以那個retry可以

原创 數據治理-HDFS廢棄文件、Hive廢棄表檢測與清理

1、背景 廢棄下線的業務,直接在調度系統下線了相應的調度任務,而大量歷史數據仍然殘留,需要清除。 去年集羣遷移,導致很多表有HDFS數據但Hive上沒有元數據,需要清除。 2、思路 ① 掃描HDFS目錄,到分區深度(比如/user

原创 Flume採集HDFS audit log日誌至HDFS

1、背景 HDFS的audit log產生數據量很大,速度也很快,在機器系統盤上必須立即持久化到HDFS,否則數據會被覆蓋或者磁盤會打滿。 用於數據治理-HDFS廢棄文件、Hive廢棄表檢測與清理。 2、實現 ① Apache F