原创 Flume基礎使用

1.Flume的作用 flume是一個實時的日誌採集系統, 並且能夠將數據採集之後存入kafka以及HDFS等集羣中 2.Flume三個組件 2.1 Source source的主要作用是接收數據到Flume中, sour

原创 【多線程】獲取多線程執行結果

1. 觀察者模式結合多線程實現獲取線程執行結果 在多線程開發中,我們沒辦法獲取線程執行完成後的結果,但是當我們利用觀察者模式的時候我們就可以獲取到多線程的執行結果 2.具體實現 假設目前有一批id需要查詢並需要獲得查詢結果,

原创 【docker】docker構建hadoop集羣

1.集羣規劃 hadoop-master hadoop-slave1 hadoop-slave2 … NN、DN、NM RM、DN、NM SN、DN、NM DN、NM 2.hadoop 基礎鏡像 此時緊緊只是

原创 【LeetCode15】三數之和

三數之和 給你一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?請你找出所有滿足條件且不重複的三元組。 注意:答案中不可以包含重複的三元組。 示例:

原创 【LeetCode16】 最接近的三數之和

最接近的三數之和 給定一個包括 n 個整數的數組 nums 和 一個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。 例如,給定數組 nu

原创 【LeetCode938】二叉搜索樹的範圍和

二叉搜索樹的範圍和 給定二叉搜索樹的根結點 root,返回 L 和 R(含)之間的所有結點的值的和。二叉搜索樹保證具有唯一的值。 示例 1:輸入:root = [10,5,15,3,7,null,18], L = 7, R =

原创 【多線程】JAVA實現讀寫鎖

1. 優勢 讀寫分離鎖可以提升程序的併發讀,因爲在大多數情況下都是讀請求那麼此時讀與讀之間是可以並行執行的不會產生數據不一致問題,只有讀寫,寫寫操作纔是互斥的 2. 讀寫鎖實現 package com.gy.readwrite

原创 【LeetCode11】盛最多水的容器

盛最多水的容器 給你 n 個非負整數 a1,a2,…,an,每個數代表座標中的一個點 (i, ai) 。在座標內畫 n 條垂直線,垂直線 i 的兩個端點分別爲 (i, ai) 和 (i, 0)。找出其中的兩條線,使得它們與 x

原创 【LeetCode】島嶼數量

1.題目 題目:給定一個由 ‘1’(陸地)和 ‘0’(水)組成的的二維網格,計算島嶼的數量。一個島被水包圍,並且它是通過水平方向或垂直方向上相鄰的陸地連接而成的。你可以假設網格的四個邊均被水包圍。示例 1:輸入: 11110 11

原创 【LeetCode717】1比特與2比特字符

1比特與2比特字符 有兩種特殊字符。第一種字符可以用一比特0來表示。第二種字符可以用兩比特(10 或 11)來表示。現給一個由若干比特組成的字符串。問最後一個字符是否必定爲一個一比特字符。給定的字符串總是由0結束。示例 1:輸入

原创 spark入門【大數據spark】

1. spark簡介 Apache Spark 是專爲大規模數據處理而設計的快速通用的計算引擎。 2. Spark安裝 2.1 安裝jdk 2.2 配置spark 官網下載spark安裝包 官網地址下載地址 上傳至虛

原创 Redis 位圖基本使用

1. 爲什麼需要位圖 在我們平時開發過程中,會有一些 bool 型數據需要存取,比如用戶一年的簽到記錄,簽了是 1,沒簽是 0,要記錄 365 天。如果使用普通的 key/value,每個用戶要記錄 365個,當用戶上億的時候,

原创 Spark RDD算子【大數據 Spark】

1. RDD是什麼 RDD(Resilient Distributed DataSet), 在我們開發spark程序的時候我們可以把RDD當做一個完整的數據集來操作, 但是實際情況是我們的數據可能分佈在不同的Executor進程

原创 Spark 持久化算子【大數據 Spark】

1. 產生來源 閱讀以下代碼 val lines = sc.textFile("hdfs://...") lines.filter(_.contain("my")).count //第一個job lines.filter(_.

原创 Java實現自定義自旋鎖

自旋鎖 1.空輪詢實現 此處主要利用while空輪詢以及原子包的CAS package com.gy.spinlock; import java.util.concurrent.atomic.AtomicInteger;