原创 Spark default 分區爲空時無法查詢的問題解決

在創建了spark動態分區表時,如果插入數據時,分區值爲null或者’‘, spark會將分區值設置成默認值: __HIVE_DEFAULT_PARTITION__ 這裏,spark2.3在處理的時候,會忽略分區值爲null的數據,因此會

原创 記一個hive1.2.1 orc 事務表不能正常提交合並任務的問題

正常情況下,hive通過 CompactionTxnHandler中的findPotentialCompactions 方法獲取需要合併的表信息,如下所示,會分別掃描COMPLETED_TXN_COMPONENTS和 TXNS, TXN_

原创 從零開始搭建一個windows下的presto開發調試環境

文章內容基礎準備Linux環境安裝和準備VNC server安裝安裝Gnome桌面遠程桌面窗口啓動開發環境配置Windows環境安裝和準備安裝VNC viewer開發調試配置修改總結 基礎準備 一臺windows系統的工作機,一臺

原创 Idea開發調試MapReduce的wordCount

好久沒搞了。來複習一下,首先我們嘗試本地開發調試 首先我跟着有位博主的步驟出發: https://blog.csdn.net/programmer_wei/article/details/45286749 然後報了一個錯誤: Except

原创 記一個Spark2.3 JDBC連接thriftServer 創建臨時函數的bug

文章內容問題描述問題定位解決方案總結 問題描述 我們的生產目前使用的是spark2.3版本。客戶最近在使用UDF完成一些功能,操作方式如下: 編寫UDF.jar 使用beeline (或JDBC)連接 thriftserver(

原创 記一次spark compact 事務表小文件失敗的問題

目錄問題描述問題定位問題解決方案 問題描述 我們生產的spark集羣維護了大量的事務表,需要頻繁進行增刪改操作,這個過程會產生非常多的delta文件。小文件過多時,讀寫性能會有嚴重的下降,因此我們開發了一個定時合併小文件的功能。最

原创 Spark Job調度模式源碼學習

文章內容調度方式FIFO 調度Fair 調度調度算法設計調度配置資源池實現和構建資源池實現資源池構建FIFO資源池構建Fair資源池構建優先級排序和任務調度總結 調度方式 Spark 對於提交到同一個SparkContext的jo

原创 Kudu java 客戶端Row 讀寫數據結構設計

剛開始工作時有個研發大哥告訴,看源碼時,首先要了解各部分的數據結構設計,搞清楚數據結構的設計對於理解代碼很有幫助,我一直將這句話記在心裏。此前因爲工作需要,需要對kudu-client 的部分代碼進行修改,以實現數據加解密。因此,

原创 spark性能優化之DataSource表limit操作下推實現kudu limit查詢性能千倍提升

文章目錄問題描述解決方案測試結果總結 問題描述 我們的 spark基於DataSource V1版本,整合了kudu表,可以直接使用sql操作讀寫kudu表。目前我們的kudu-1.7.0版本,隨着kudu表的使用場景不斷增加,k

原创 關於hive事務表o狀態殘留問題的解決

上次我寫過一篇文章https://blog.csdn.net/u012543819/article/details/104540056,其中講到,在hiveserver異常掛掉的情況下,可能會導致部分事務爲o狀態且殘留在TXNS元數據表中

原创 Spark無法Heartbeat長事務問題的解決方案

我們對spark的源碼進行了大量的修改,使得其能夠支持事務表,能夠對orc表進行update,delete等操作。上文我們提到spark事務o狀態殘留問題解決,但是該解決方案缺卻引發了一個問題,即長事務的情況下會導致數據出錯。 出現了該問

原创 ClassLoader not found datanucleusXXXXX

<dependency>--> <!--<groupId>org.datanucleus</groupId>--> <!--<artifactId>datanucleus-core</artifactId>-->

原创 spring-boot項目啓動報錯無法啓動嵌套的tomcat

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <

原创 Spring-boot-mybatis踩過的坑

package com.lenovo.accelerator.intelliaccquery; import org.mybatis.spring.annotation.MapperScan; import org.springfram

原创 關於定時任務ScheduledFuture get方法無法獲取thread 的情況

thread = (ScheduledFuture<BaseThread>) future.get(10, TimeUnit.SECONDS); 因業務需要,需要做定時任務。 在打印日誌的時候試圖調用其返回的future的get方法獲取