13161216443

您所在位置: 首頁> 學習課程> 編程和大數據,哪個前景好?大數據常用技術有哪些?

編程和大數據,哪個前景好?大數據常用技術有哪些?

發布百知教育 來源:學習課程 2019-11-07

從就業而言,大數據和編程并不是什么沖突的崗位,而事實上大數據崗位也對編程能力也有不低的要求。通常我們所說的大數據工程師, 普遍指的是Hadoop生態系的開發者。


隨著時間推移,大數據行業也經過了很多的變化,現在的熱點也已經由大數據轉向了AI,而大數據行業進入了一個相對平穩的發展期。其實也很容易理解,以前缺的是數據和處理數據的解決方案,而現在的AI就是一個利用數據產出結果的方向。


從工作性質上來看,大數據崗位大致分成四類:基礎架構,ETL,數據可視化,數據分析。


1
基礎架構

公司由于性質的不同,數據也不同,所以數據架構和設計方法,引入的組件也有所不同,需要有人設計,搭建和維護相應的基礎架構。


關于這部分現在也有不少商用的應用,比如CDH, 它和以前另外一家Hortonworks合并了,其實他們兩的合并也說明市場的一些反應。架構方法上不少使用的Lambda架構,這兒不細說了

2
ETL

ETL, 是Extract-Transform-Load的縮寫,最常見的一些情況是從某一個系統把數據導到另外一個系統,導入的過程時會對數據進行一些加工,做一些數據的增強, 數據清洗,數據規整等工作。


這是一個非常常見的工作,其實絕大部分從事大數據的開發者都在做的一個事,區別是有的人只做這個,有的人部分工作在做這個,也或許從來沒有意識到自己的大數據工作都是ETL的工作。這部分工作的無可避免,因為常見的數據來源,主要來自數據庫(通常是關系型數據庫)和日志數據


業務數據庫, 業務數據的設計會遵從OLAP的設計,而后面我們所說的數據可視化和數據分析數據會遵從OLTP的數據設計,更多的冗余換來更快的處理時間,這就涉及到之間轉換的ETL


日志總是以一種非結構化數據的方式存在,總是需要轉換為結構化數據,還有一種和MySQL相關的比如binlog之類也可以歸結到日志的加工


總而言之,這部分的工作雖然枯燥,但是非常重要又必不可少。

3
數據可視化

數據可視化可以歸結到數據分析中,但很多公司的數據分析僅到此就結束了,所以特別列出來


 例子:數據可視化

4
數據分析

利用現有的數據,對以前的數據進行分析匯總,比如支付系統的對賬, 也有對未來的行為進行預測,比如ML/DL 系統也是一種數據分析

==================================


Q&A


大數據需要什么編程語言?


如果希望從事基礎架構和ETL類,主要是Java+Scala為主,Python為輔。


如果希望從事數據可視化,可以根據前端的要求來, HTML + JS + CSS


如果希望從事分析類,基于現有的大數據架構的分析,還Java+Scala為主,Python為輔。如果是從事AI/ML,那么現階段Python為主, C++(Tensorflow等底層實現)為輔。


而高手從來不問要選什么,他全都會!


大數據常用的技術?


我們說大數據普遍就在說基于Hadoop生態系的基礎架構和ETL類的技術體系。


Hadoop,Hadoop有三個組件,MapReduce+HDFS+YARN, 現在手寫MapReduce的已經很少,Hadoop能用的常見的是HDFS(分布式文件系統), YARN(資源調度系統)


Hive, 可以理解為一個上層系統操作Hadoop的MapReduce的操作,常用來處理一些大批量的Batch數據數據倉庫工具


Pig,很少見到還有新開的項目在用了


Spark, 基于內存的大規模數據處理而設計的快速通用的計算引擎(此處要劃重點)


Flink, Storm,Spark Steaming 流式計算(此處要劃重點)

Flume, 日志收集

Hbase, Cassandra 等分布式數據庫

Kafka,消息系統(此處要劃重點)


大數據培訓:http://www.akpsimsu.com/bigdata2019





上一篇:java培訓班:面向對象的三大基本特征和五大基本原則?

下一篇:應屆生去公司找個Java程序員的職位需要什么技能?

相關推薦

www.akpsimsu.com

有位老師想和您聊一聊

關閉

立即申請