大資料的知識體系

動腦科技發表於2018-07-17

大資料現在愈演愈烈,很多人都想學習大資料,但是又不知道如何下手,作者今天就總結了學大資料應掌握的知識體系。下面我們就來看看吧。

Java basic

首先第一個問題,學習大資料為什麼一定要學習Java呢?因為Java是目前使用最為廣泛的程式語言,它具有的眾多特性,特別適合作為大資料應用的開發語言。

• Java吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承(容易造成混亂)、指標等概念,所以Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態物件導向程式語言的代表,極好地實現了物件導向理論,簡而言之就是你吃飯不用自己做了,去飯館就好了嘛,這就是物件導向(比喻到不到位)。

• Java的跨平臺應用能力(主要是這Java虛擬機器跨平臺,Java 本身不是跨平臺的),比C、C++更易用,更容易上手。同時還具有簡單性、物件導向、分散式、健壯性、安全性、平臺獨立與可移植性、多執行緒、動態性等特點。

• 最重要的是,Hadoop以及其他大資料處理技術很多都是用Java,例如Apache的基於Java的HBase和Accumulo以及ElasticSearchas,因此學習Hadoop的一個首要條件,就是掌握Java語言程式設計。

Web basic

現如今各大網站的頁面基本上都是使用Web前端技術完成,Web前端技術獨有的特效能夠讓使用者得到更好的體驗,除此之外,還有與資料庫的連結之類的小程式,微信小程式,都是靠Web前端技術來完成的。隨著前端技術不斷更新,Web前端技術已經成為了現在企業和開發人員熱議的話題。

Spring

Spring Framework中的資料訪問模組對JDBC及ORM提供了很好的支援,隨著NoSQL和BigData的興起,出現了越來越多的新技術,比如非關係型資料庫、MapReduce框架,bigdata正是為了讓Spring開發者能更方便地使用這些新技術而誕生的“大”專案——它由一系列小的專案組成,分別為不同的技術提供支援,例如Spring Data JPA、Sprng Data,Hadoop、Spring Data MongoDB、Spring Data Redis等等。

通過Spring Data。開發者可以利用spring提供的相對一致的方式來訪問位於不同型別的資料儲存中的資料。 除了新技術,Spring Data還為傳統的關係型資料庫提供了很多額外的支援,讓開發者能夠更好地利用關係型資料庫,比如對Oracle RAC的支援。

SpringWebMVC

Spring下的子專案:Spring Web MVC是一種基於Java的實現了Web MVC設計模式的請求驅動型別的輕量級Web框架,即使用了MVC架構模式的思想,將web層進行職責解耦,基於請求驅動指的就是使用請求-響應模型,框架的目的就是幫助我們簡化開發,Spring Web MVC也是要簡化我們日常Web開發的。

SpringWeb MVC也是服務到工作者模式的實現,但進行可優化。前端控制器是DispatcherServlet;應用控制器其實拆為處理器對映器(Handler Mapping)進行處理器管理和檢視解析器(ViewResolver)進行檢視管理;頁面控制器/動作/處理器為Controller介面(僅包含ModelAndViewhandleRequest(request, response) 方法)的實現(也可以是任何的POJO類);

MyBatis

MyBatis是一個Java永續性框架,它通過xml描述符或註解把物件與儲存過程或sql語句關聯起來。

與其他的物件關係對映框架不同,MyBatis並沒有將Java物件與資料庫表關聯起來,而是將Java方法與SQL語句關聯。MyBatis允許使用者充分利用資料庫的各種功能,例如儲存過程、檢視、各種複雜的查詢以及某資料庫的專有特性。

如果要對遺留資料庫、不規範的資料庫進行操作,或者要完全控制SQL的執行,MyBatis是一個不錯的選擇。 與JDBC相比,MyBatis簡化了相關程式碼:SQL語句在一行程式碼中就能執行。MyBatis提供了一個對映引擎,宣告式的把SQL語句執行結果與物件樹對映起來。

通過使用一種內建的類XML表示式語言,或者使用Apache Velocity整合的外掛,SQL語句可以被動態的生成。 MyBatis與Spring Framework和GoogleGuice整合,這使開發者免於依賴性問題。

MyBatis支援宣告式資料快取(declarative data caching)。

當一條SQL語句被標記為“可快取”後,首次執行它時從資料庫獲取的所有資料會被儲存在一段快取記憶體中,今後執行這條語句時就會從快取記憶體中讀取結果,而不是再次命中資料庫。

MyBatis提供了基於 Java HashMap 的預設快取實現,以及用於與OSCache、Ehcache、Hazelcast和Memcached連線的預設聯結器。MyBatis還提供API供其他快取實現使用。

相關文章