原创 kettle6.1轉換內正確的併發設置姿勢

引子 網上很多教程沒搞懂“改變開始複製的數量”這個意思,將數量設置在輸入端,導致不僅沒有進行多線程併發,反而變成複製讀入多分數據導致開銷增大,而且還造成了數據重複寫入,這樣還敢說性能提升,真是有鬼了。 實際效果 單線程效果

原创 sparksql運算調優紀事(二)——task併發任務數設置

版本 spark 2.1.0 前言 利用spark-submit提交作業的時候,根據各種天花亂墜的教程我們會指定一大堆參數,藉以提升併發和執行性能,比如 –executor-cores 4 –num-executors 4

原创 sparksql運算調優紀事(三)——repartition數據傾斜處理

版本 spark2.1.0 現象 繼續上一章,利用effective_time字段進行重新分區導致了任務執行的傾斜 本章就要針對這個問題進行處理。 問題定位 首先看下repartition是如何進行重分區的。 由partiti

原创 activiti工作流5.22.0自定義流程活動圖獲取接口

目標 在不使用activiti explore提供的流程實例圖diagram-viewer/index.html以及其繁雜的BaseProcessDefinitionDiagramLayoutResource四個類的情況下,自定義

原创 三張圖辨析所謂select *性能劣於select XXX

該場景主要適用於僅查詢索引字段的情況,否則其餘情況一概同等而論。但是大部分應用場景我們需要將幾乎所有字段讀取出來,所以select *和select xxx差別不大。 1、展示索引字段和非索引字段,全表掃描 2、展示使用索

原创 sparksql運算調優紀事(一)——hive小文件處理

業務目的 全量離線運算統計,結果寫入oracle 依賴版本 spark 2.0.1 hive 1.1.0 問題 執行時task數量過多 hive動態分區小文件過多 測試環境5運算節點,內存分別爲12G,運行30萬測試數據不斷髮生

原创 SQL中EXISTS與IN並不能完全等價替代

背景 很多文章中都聲稱,爲了優化效率,可以使用exists去替代in,但實際上在一些特殊業務情況下,兩者並不能等同。 實例 今天剛好記錄一下碰到的情況,以ORACLE爲例,EXISTS用於校驗子查詢是否爲true,而in用於判斷條

原创 hive on spark與sparkSQl共存

背景 需要使用spark腳本讀寫hive數據 又需要讓hive mr引擎使用spark,從而從kettle入口觸發hive交互時hive能夠用到spark性能 版本依賴 原生apache : hive 2.3.3 spark 2.

原创 kettle6.1從http接口讀取數據並解析json以及xml

業務需求 1、從數據庫中讀取表內容作爲入參; 2、根據入參讀取http接口並獲取返回數據; 3、解析返回的json並提取其中的xml字段; 4、解析該xml字段; 5、入庫。 使用組件 表輸入用於讀取數據庫內容、rest client

原创 利用正則表達式爬取HTML頁面內容

閒來使用正則表達式做了一個HTML頁面的數據爬蟲,主要是根據頁面規則去匹配相應字段內容,記錄一下。 利用HttpGet獲取頁面內容,使用pattern獲取匹配內容 CloseableHttpClient client = HttpCl

原创 利用spring-boot構建spark job作業提交服務

版本依賴 spark.version:2.1.0 hadoop.version:2.6.5 springboot-mybatis.version:1.1.1 springboot:1.5.10 實現功能 通過HTTP提交job作業請

原创 kettle6.1讀寫hive on hbase記錄

版本 kettle 6.1 hbase 1.2.6 hive 2.2.0 hadoop 2.6.5 數據架構 業務數據通過kafka流向業務數據處理引擎,過濾後的數據寫入hbase,kettle job定期執行作業,讀取hive運算

原创 activiti工作流5.22.0 多人會審功能實現

背景 因業務需求需要實現指定多人來進行一個task,傳統做法是使用網關來達到目的,但是顯示情況是會審的人員是可變且易變的,比如我指定安全組來做一個檢驗任務,安全組今天可能是5個人,明天又有人離職變成了3個人,因此網關不大適合該場景,這裏就

原创 hadoop2.6.5+spark2.1.0+hbase1.2.6完全分佈式環境部署

一、服務器環境準備 tips:本例作爲測試環境,只使用了兩臺服務器,實際生產環境至少會有三臺以上服務器作一主多從。 如果要配置 hadoop JournalNode zookeeper高可用,則至少需要五臺服務器。 服務器cento

原创 kettle6.0基礎功能實戰

業務背景 因爲公司業務,需要進行國內-海外部分業務數據的同步,早期本來方案選定直接做MySQL主從,但是考慮到同步過程中不需要同步所有數據庫表,且單表中也需要根據業務情況,篩選出海外的數據,因此MYSQL直接做主從複製不符合預期。最終選型