大數據用到哪些技術?

原地址:https://blog.51cto.com/12306609/2095719web

大數據是對海量數據進行存儲、計算、統計、分析處理的一系列處理手段,處理的數據量一般是TB級,甚至是PB或EB級的數據,這是傳統數據處理手段所沒法完成的,其涉及的技術有分佈式計算、高併發處理、高可用處理、集羣、實時性計算等,聚集了當前IT領域熱門流行的IT技術。sql

想要學好大數據需掌握如下技術:數據庫

1. Java編程技術編程

Java編程技術是大數據學習的基礎,Java是一種強類型語言,擁有極高的跨平臺能力,能夠編寫桌面應用程序、Web應用程序、分佈式系統和嵌入式系統應用程序等,是大數據工程師最喜歡的編程工具,所以,想學好大數據,掌握Java基礎是必不可少的!服務器

2.Linux命令數據結構

對於大數據開發一般是在Linux環境下進行的,相比Linux操做系統,Windows操做系統是封閉的操做系統,開源的大數據軟件很受限制,所以,想從事大數據開發相關工做,還需掌握Linux基礎操做命令。架構

3. Hadoop併發

Hadoop是大數據開發的重要框架,其核心是HDFS和MapReduce,HDFS爲海量的數據提供了存儲,MapReduce爲海量的數據提供了計算,所以,須要重點掌握,除此以外,還須要掌握Hadoop集羣、Hadoop集羣管理、YARN以及Hadoop高級管理等相關技術與操做!框架

4. Hive編程語言

Hive是基於Hadoop的一個數據倉庫工具,能夠將結構化的數據文件映射爲一張數據庫表,並提供簡單的sql查詢功能,能夠將sql語句轉換爲MapReduce任務進行運行,十分適合數據倉庫的統計分析。對於Hive需掌握其安裝、應用及高級操做等。

5. Avro與Protobuf

Avro與Protobuf均是數據序列化系統,能夠提供豐富的數據結構類型,十分適合作數據存儲,還可進行不一樣語言之間相互通訊的數據交換格式,學習大數據,需掌握其具體用法。

6.ZooKeeper

ZooKeeper是Hadoop和Hbase的重要組件,是一個爲分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組件服務等,在大數據開發中要掌握ZooKeeper的經常使用命令及功能的實現方法。

7. HBase

HBase是一個分佈式的、面向列的開源數據庫,它不一樣於通常的關係數據庫,更適合於非結構化數據存儲的數據庫,是一個高可靠性、高性能、面向列、可伸縮的分佈式存儲系統,大數據開發需掌握HBase基礎知識、應用、架構以及高級用法等。

8.phoenix

phoenix是用Java編寫的基於JDBC API操做HBase的開源SQL引擎,其具備動態列、散列加載、查詢服務器、追蹤、事務、用戶自定義函數、二級索引、命名空間映射、數據收集、行時間戳列、分頁查詢、跳躍查詢、視圖以及多租戶的特性,大數據開發需掌握其原理和使用方法。

9. Redis

Redis是一個key-value存儲系統,其出現很大程度補償了memcached這類key/value存儲的不足,在部分場合能夠對關係數據庫起到很好的補充做用,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便,大數據開發需掌握Redis的安裝、配置及相關使用方法。

10. Flume

Flume是一款高可用、高可靠、分佈式的海量日誌採集、聚合和傳輸的系統,Flume支持在日誌系統中定製各種數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫到各類數據接受方(可定製)的能力。大數據開發需掌握其安裝、配置以及相關使用方法。

11. SSM

SSM框架是由Spring、SpringMVC、MyBatis三個開源框架整合而成,常做爲數據源較簡單的web項目的框架。大數據開發需分別掌握Spring、SpringMVC、MyBatis三種框架的同時,再使用SSM進行整合操做。

12.Kafka

Kafka是一種高吞吐量的分佈式發佈訂閱消息系統,其在大數據開發應用上的目的是經過Hadoop的並行加載機制來統一線上和離線的消息處理,也是爲了經過集羣來提供實時的消息。大數據開發需掌握Kafka架構原理及各組件的做用和使用方法及相關功能的實現!

13.Scala

Scala是一門多範式的編程語言,大數據開發重要框架Spark是採用Scala語言設計的,想要學好Spark框架,擁有Scala基礎是必不可少的,所以,大數據開發需掌握Scala編程基礎知識!

14.Spark

Spark是專爲大規模數據處理而設計的快速通用的計算引擎,其提供了一個全面、統一的框架用於管理各類不一樣性質的數據集和數據源的大數據處理的需求,大數據開發需掌握Spark基礎、SparkJob、Spark RDD、spark job部署與資源分配、Spark shuffle、Spark內存管理、Spark廣播變量、Spark SQL、Spark Streaming以及Spark ML等相關知識。

15.Azkaban

Azkaban是一個批量工做流任務調度器,可用於在一個工做流內以一個特定的順序運行一組工做和流程,能夠利用Azkaban來完成大數據的任務調度,大數據開發需掌握Azkaban的相關配置及語法規則。

16.Python與數據分析

Python是面向對象的編程語言,擁有豐富的庫,使用簡單,應用普遍,在大數據領域也有所應用,主要可用於數據採集、數據分析以及數據可視化等,所以,大數據開發需學習必定的Python知識。

相關文章
相關標籤/搜索