原创 DruidDataSource出現UnsupportedOperationException異常的情況

在開發過程中發現了這個問題,當我們配置druid數據源的時候是以下面的這種方式配置的 @Bean @ConfigurationProperties("spring.datasource.druid.two") public DataSo

原创 ReentrantLock 的實現原理以及源碼分析

ReentrantLock是一個可重入的鎖,內部採用AQS來實現 下面我會對其源碼進行詳細的分析,因爲貼了源碼,所以我會直接在源碼上進行註釋,並加入一些我自己的理解,以求大家可以更容易的理解。廢話不多說,直接開始: ReentrantLo

原创 集合等離散數據結構

集合 簡單說一下集合的概念,集合包含一組可區分的對象,稱爲成員或元素。如果一個對象x是對象S的一個成員,記爲x∈Sx\in{S}x∈S。如果x不是S的成員,則記爲x∉Sx\notin{S}x∈/​S。通過在一對大括號中顯式列出集合

原创 jvm的類加載機制

類從被加載到虛擬機內存中開始,到卸載出內存結束,真個生命週期包括了幾個階段: 加載-》驗證-》準備-》解析-》初始化-》使用-》卸載   虛擬機規範嚴格規定了有且只有四種情況必須立即對類進行初始化操作 遇到new,getstatic,pu

原创 可重入鎖是什麼?

可重入鎖,指的就是在一段同步代碼塊中,同一個鎖只能同時被一個線程所持有,所以當一個線程執行一段同步代碼塊的時候,從a方法進入到b方法,會自動獲取鎖,而不會被其他的線程所搶佔。 private static ReentrantLo

原创 mysql讀取一張表中的字段循環插入另一張表

由於業務需求,需要修改歷史數據,一張表是病區信息,裏面包括所有病區,另一張表是病區的功能配置,業務代碼只能完成在 添加病區並初始化時顯示新的功能,但是舊病區無法顯示新功能,簡單的說就是添加新功能時只能添加到新病區,而舊病區的必須

原创 淺析Hadoop(二)之MapReduce

淺析Hadoop(二)之MapReduce 1.經典的mapreduce工作原理1)提交作業,job提交時,client向jobtracker請求一個新的作業id,檢查作業的輸出目錄,如果沒有指定或者已經存在,就會拋出異常。如果檢查通

原创 淺析hadoop(一)之HDFS

淺析Hadoop(一)之HDFS 再次看hadoop權威指南,又有了一些不一樣的收穫,所以心血來潮,就想將我理解和整理的東西寫出來,還有很多不足,歡迎大家指正。 1. hdfs的特點 一次寫入,多次讀取硬件要求低高延時性,高吞吐量,

原创 hbase的預分區

HBase中,表會被劃分爲1...n個Region,被託管在RegionServer中。Region二個重要的屬性:StartKey與 EndKey表示這個Region維護的rowKey範圍,當我們要讀/寫數據時,如果rowKey落在某個

原创 hive中控制map和reduce的個數

一、    控制hive任務中的map數:1.    通常情況下,作業會通過input的目錄產生一個或者多個map任務。主要的決定因素有: input的文件總個數,input的文件大小,集羣設置的文件塊大小(目前爲128M, 可在hive

原创 maven向本地倉庫中導入官方庫中沒有的jar包

對於官方倉庫沒有的jar包,maven向本地倉庫導入jar包用如下命令     Cmd代碼    mvn install:install-file   -DgroupId=包名   -DartifactId=項目名   -D

原创 maven項目由於多個依賴中含有同一個jar包導致的衝突問題的解決辦法

今天在利用mapreduce對HBase進行輸入輸出的時候,發生了一件很無厘頭的事情,我和同事寫同樣的代碼,但是我成功了,而他卻失敗了,這就有點讓人頭疼。一開始我們以爲是配置的問題,但是經過比對,配置並沒有什麼不同。因此,我就將mapre

原创 hive中自定義UDAF、 UDTF、 UDF

回頭看了看之前自定義的UDF,UDAF,UDTF,竟然有種生疏的感覺,因此,對於其中的代碼重新做了註釋,更加的詳細和容易理解,下面就是我自己定義的幾個樣例,比較簡單,主要是通過樣例來了解如何自定義UDF來完成需求。 1、UDAF 需求是找

原创 hbase的整體架構分析

HBase的功能非常強大,下面是我對於HBase的一些理解,歡迎指點。 HBase是Apache Hadoop的數據庫,能夠對大型數據提供隨機、實時的讀寫訪問。HBase的目標是存儲並處理大型的數據。HBase是一個開源的,分佈式的,多版

原创 關於idea新建子目錄時往父目錄名字後疊加而不是樹形結構的解決方法

當Compact Empty Middle Packages選中時,目錄會疊加,所以首先去掉√,然後新建子目錄,然後在勾上,就可以解決。