原创 HDFS讀寫文件

寫文件: client向遠程NameNode發起RPC請求; NameNode檢查文件是否存在,成功則爲文件創建一個記錄; client根據block size將文件切分成多個packets,並以“data queue”的形式進行管理,另

原创 關於spark shuffle過程的理解

shuffle過程:由ShuffleManager負責,計算引擎HashShuffleManager(Spark 1.2)—>SortShuffleManagerspark根據shuffle類算子進行stage的劃分,當執行某個shuff

原创 歸併排序java實現

package tao.leetcode; /** * Created by Tao on 2017/7/30. */ public class MyLeetcode { public static void main(Str

原创 Spark性能調優—高級

數據傾斜調優定位:Spark Web UI或本地log查運行較慢的task(查看數據量),確定stage,定位代碼位置查看key的數據分佈:countByKey()解決方案過濾少數導致傾斜的key適用於少數幾個數據量特別多的key對作業的

原创 HTTP和HTTPS的區別

HTTP: 超文本傳輸協議(應用層),用於從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議 傳輸的數據未加密(明文),不安全 80端口   HTTPS: HTTP協議的安全版,在HTTP下加入SSL層(保證安全的基礎) 需要ca申請證書(公

原创 Spark Executor內存管理

堆內和堆外內存規劃1.堆內內存:由-executor-memory配置,executor內所有併發任務共享    序列化:將對象轉換爲二進制字節流,本質上可以理解爲將非連續空間的鏈式存儲轉化爲連續空間或塊存儲2.堆外內存:由spark.m

原创 java線程同步方法

1.同步方法    synchronized修飾方法,對象內置鎖保護整個方法(對象鎖)    若方法static修飾,類鎖2.同步代碼塊    同步—高開銷—減少同步內容3.wait和notify    wait:線程處於等待,釋放鎖 

原创 0-1揹包問題

import java.util.Scanner; /** * Created by Tao on 2018/8/12. */ public class Main { public static void main(Str

原创 死鎖 java實現

public class Test { public static Object deadLock1 = new Object(); public static Object deadLock2 = new Object

原创 HTTP協議中GET和POST的區別

HTTP請求報文:請求行(方法、URL、版本),首部行,空行,實體主體get:實體主體爲空post:實體主體不爲空—post查詢用戶表單,該表單中的值即在實體中最主要的區別get用於請求獲取數據,post向指定的資源創建修改數據get把參

原创 快速排序java實現

package tao.leetcode; /** * Created by Tao on 2017/7/30. */ public class MyLeetcode { public static void main(Str

原创 HOG+SVM行人檢測

提取正負樣本hog特徵投入SVM分類器訓練,得到model由model生成檢測子利用檢測子檢測負樣本,得到hardexample提取hardexample的hog特徵並結合第一步的特徵一起訓練,得到最終檢測子hog:方向梯度直方圖hard

原创 Spark性能優化—基礎

Spark性能優化:開發調優、資源調優、數據傾斜調優、shuffle調優開發調優避免重複創建RDD複用同一個RDD對多次使用的RDD進行持久化儘量避免使用shuffle類算子——broadcast+map代替join使用map-side預

原创 java實現單例模式

懶漢式線程不安全public class Singleton { private Singleton() {}; private static Singleton instance = null; public s

原创 數據庫ACID以及事務隔離

事務:數據庫基本的處理單位數據庫事務四個基本要素:ACID原子性(Atomicity):事務中的操作要麼全部執行,要麼全部不執行—事務A給B轉錢,分爲扣款和加款兩步驟,需全執行一致性(Consistency):事務不破壞數據庫中數據的完整