原创 一文了解ThreadLocal

1. ThreadLocal的簡介 在多線程編程中通常解決線程安全的問題我們會利用synchronzed或者lock控制線程對臨界區資源的同步順序從而解決線程安全的問題,但是這種加鎖的方式會讓未獲取到鎖的線程進行阻塞等待,很顯然這

原创 Docker入門——基礎概念,安裝運行Tomcat,MySQL

前言 這篇博客,基於之前一段時間對於Docker的簡單使用,南國在這裏對於Docker的基礎知識做一個簡要的總結。 虛擬機 首先我們簡要描述一下虛擬機,比如我們常用的VMWare、VirtualBox等。它可以在一種操作系統裏面運

原创 Flink筆記03——一文了解DataStream

前言 在前面的博客Flink筆記01——入門篇中,我們提到了Flink 常用的API,如下圖所示: 這篇博客,南國主要講述一下Flink的DataStream。 DataStream的編程模型 DataSTream的編程模型包括

原创 一文了解消息隊列

前言 消息隊列一直是Java 後端 大數據經常使用的一個重點,不管是新人還是技術專家 都會或多或少的接觸和使用過一兩個消息隊列(Message Queue)。這篇文章,結合南國最近的一些學習收穫,總結下消息隊列的知識點。 一、爲什

原创 Cloudera Manager HA模式搭建

前言 從事大數據方向的程序員 應該都對CDH比較熟悉,這是一款市場上比較好用的免費的數據平臺系統,在CDH上我們可以安裝部署兼容的hadoop sprk zookeeper kafka等常用的大數據服務,雖然現在暫不支持flink

原创 Flink05——一文了解Flink的Window和Time

前言 窗口計算是流式計算中非常常用的數據計算方式之一,通過按照固定時間或長度將 數據流切分成不同的窗口,然後對數據進行相應的聚合運算,從而得到一定時間範圍內的統計結果。窗口(Windows)在SparkStreaming Flin

原创 Flink筆記04——一文了解State管理和恢復

前言 State 一般指一個具體的 Task/Operator 的狀態,State 數據默認保存在 Java 的堆內存中。 CheckPoint(可以理解爲 CheckPoint 是把 State 數據持久化存儲了)則表示了一個

原创 Flink筆記01——入門篇

前言 在目前開源的大數據引擎中,流計算有Flink,Storm,Kafka Stream等,批處理(離線計算)有Spark, MApReduce等。而同時支持流處理和批處理的計算引擎,只有兩種選擇:一個是Apache Spark,

原创 SparkStreamig——StreamigContext Receiver內部原理剖析

1. StreamingContext初始化過程 StreamingContext是很多Streaming功能的入口,如:它提供從多種數據源創建DStream的方法等。在StreamingContext創建時將會創建如下主要組件:

原创 SparkStreamin-DStream的輸出操作以及foreachRDD詳解

輸出操作概覽 在Spark應用中,外部系統經常需要使用到SparkStreaming處理後的數據,因此,需要採用輸出操作把DStream的數據輸出到數據庫或者文件系統中。 Output Meaning print 打

原创 一文了解Shell中的awk命令

前言 AWK是一種處理文本文件的語言,是一個強大的文本分析工具。 之所以叫AWK是因爲其取了三位創始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首

原创 Flink筆記02——單詞計數wc和集羣部署

前言 在上一篇文章Flink筆記01——入門篇講述了Flink的一些基礎知識後,這篇博客,我們結合日常開發,主要介紹一些Flink的基礎編程和框架搭建。 第一個Flink代碼 相信學過MR Spark的同學 編寫的第一個程序都是單

原创 Python隨筆——中級篇

前言 在講解了Python中的一些基礎知識後,這篇文章主要通過一些編程案例來學會熟練編寫python代碼。話不多說,來看代碼~ 判斷字符串是否爲數字 判斷list中的每個值是否爲數字 ''' @author xjh 2020.3.

原创 Python隨筆—基礎篇

前言 這篇博文是南國關於python的第一篇博客,之前對於python的學習一直斷斷續續。因爲個人傾向於用Java解決問題,但不可否認Python某些方面有他的優勢和特點。這篇博客 主要回顧下Python之於Java C++不同的

原创 一文聊聊ConcurrentHashMap

1.ConcurrentHashmap簡介 在使用HashMap時在多線程情況下擴容會出現CPU接近100%的情況,因爲hashmap並不是線程安全的,通常我們可以使用在java體系中古老的hashtable類,該類基本上所有的方