如何更有效率的去學習大數據?

来源:https://www.cnblogs.com/guilina/archive/2018/08/24/9528713.html
-Advertisement-
Play Games

這段時間有很多人問小編如何學習大數據? 既然這麼多人問我,那就寫篇文章,告訴大家,當然寫這篇文章也是經過思考的,不是提筆就寫,先介紹下我的基本情況,第一小編本人只是大數據中學習的小學生而已,不是什麼大牛,也不是什麼技術牛逼的神人,如果貿然動筆肯定會貽笑大方;另一方面大數據它本身領域博大精深,涵蓋之廣 ...


這段時間有很多人問小編如何學習大數據? 

既然這麼多人問我,那就寫篇文章,告訴大家,當然寫這篇文章也是經過思考的,不是提筆就寫,先介紹下我的基本情況,第一小編本人只是大數據中學習的小學生而已,不是什麼大牛,也不是什麼技術牛逼的神人,如果貿然動筆肯定會貽笑大方;另一方面大數據它本身領域博大精深,涵蓋之廣,技術種類之多確實很難用一篇文章說明。

文章的目的就是希望給所有學習大數據規劃一條比較清晰的學習路線,能夠幫助這些學習者開啟大數據學習之旅。面對大數據這種領域,技術肯定絢麗繁複,每一個大數據學習者都必鬚根據自己的情況制定學習制度。

當今程式員行業什麼最賺錢或者說什麼最火?ABC無出其右。可以理解為ABC三者,AI + Big Data + Cloud,便是人工智慧、大數據和雲計算。各自領域都有行業領導者技術牛逼在引領前行,那麼今天小編就帶大家來討論下大數據這個方向。

大數據,英文名為Big Data,關於它的定義很多,大家也可以百度,我在這裡就不說了。最權威的必須是IBM的定義,大家可以自行查閱。本篇文章是寫如何學習大數據,所以咱們們就要定義大數據領域內的不同角色。這樣大家才能根據自身情況對號入座,在大數據學習的路上開啟學習之路。

 

 

 

角色劃分:

小編根據當下大數據行業分為兩類角色:

1、大數據工程

2、大數據分析

這兩種角色相互產生交集又獨立運作,如果沒有大數據超級工程,大數據分析這個角色便無任何意義;沒有大數據分析,大數據工程也沒有存在的意義和理由。這就相當於結婚和戀愛,戀愛的最終是目標就是結婚,不以結婚為目的的戀愛就是是耍流氓,哈哈,道理都一樣。

大數據工程需要的是處理數據的定義、收集、計算與保存工作,所以大數據建設者們在設計和部署這樣的系統時首先考慮的應該是數據高可用的問題,這段話可以理解為大數據工程系統需要隨時地為分析系統提供數據服務;

而大數據分析角色的定位於如何利用數據,可以理解成從大數據工程系統中接收到的數據之後,如何為企業提供數據分析,並且能夠幫助到企業或者公司進行業務改善和提升服務水平的目的,因此對於大數據分析師來說,首要解決的問題是發現並且利用數據的價值,具體包括:趨勢分析、模型建立以及預測分析等。

 

 

 

我們屬於哪種角色?

前面大家跟隨小編瞭解了大數據領域內的角色,下麵那咱們就要對號入座了。這樣才能更好的開始大數據學習。根據自身經驗,我把它分為三個級別:

  • ·菜鳥
  • ·有一定經驗的工程師
  • ·資深專家

根據上面的三個級別, 確定自己的定位後,那就定位到大數據角色,下麵是一些基本法則:

·如果具有良好的編程基礎,也有過深入瞭解電腦的交互和互聯網底層技術原理,但是數學和統計學掌握不熟悉,所以大數據工程可能就是你以後的學習的方向

· 如果有一定的編程基礎(掌握高級語言,例如:python),同時又有牛逼的數學功底,那麼大數據分析就是你努力發展的方向。

 

 

 

大數據學習路線:

先別管你是屬於以上哪類角色,大數據理論基礎知識是必須要掌握的,他們只是包括但是不限於:

  • 數據分片與路由:挑一個典型的分區演算法去學習,比如一致性哈希演算法
  • 備份機制與一致性:
  • ·學習CAP理論
  • ·冪等性:現在很多的分散式系統狀態管理的基石
  • ·各種一致性模型,例如:強一致性、弱一致性、最終一致
  • ·備份機制:主從的叫法已經不怎麼流行了,當前更cool的叫法是Leader-Follower模式
  • ·共識協議:在咱們國家通常翻譯成一致性協議。只要學習常見的幾種就可以:Paxos或者Raft
  • ·演算法和數據結構
  • ·LSM:學習和B+樹的區別以及優勢。
  • ·壓縮演算法:1,找一個主流的壓縮演算法進行瞭解,例如Snappy, LZ4。
  • ·Bloom Filter過濾器

不管是學習大數據工程還是大數據分析,上面描述的理論知識都是必要掌握的,因為它們是設計很多分散式系統必備的技能。下麵我們就針對不同的角色設計不同的學習路線:

 

 

 

合格的大數據工程師:

當一名合格的大數據工程師,至少要掌握以下技能:

  • 一門JVM系語言 ,建議先學習Java或Scala
  • ·計算處理框架:嚴格來說,這分為離線批處理和流式處理,建議學習Flink、Spark Streaming或Kafka Streams中的一個
  • ·分散式存儲框架:建議學習HDFS
  • ·資源調度框架:建議學習YARN
  • ·分散式協調框架:建議學習Zookeeper——太多大數據框架都需要它了,比如Kafka, Storm, HBase等
  • ·KV資料庫:典型的就是memcache和Redis了,特別是Redis簡直是發展神速,建議學習Redis,如果C語言功底好的,最好熟讀源碼,反正源碼也不多。
  • 列式存儲資料庫:建議學習HBASE,這是目前應用最廣泛的開源列式存儲
  • ·消息隊列:大數據工程處理中消息隊列作為“削峰填谷”的主力系統是必不可少的,當前該領域內的解決方案有很多,包括ActiveMQ,Kafka等。建議學習Kafka,不僅僅好找工作,還能觸類旁通進一步理解基於備份日誌方式的數據處理範型

 

 

 

大數據分析師:

要想成為一個數據科學家,您至少要掌握以下技能:

  • 數學功底:微積分是嚴格要掌握的。一元微積分是必須要熟練掌握並使用的。線性代數要精通,矩陣的運算、向量空間、秩等概念。
  • ·回顧同濟版《高等數學》,有能力的可以去Coursea學習賓夕法尼亞大學的微積分課程
  • ·推薦學習Strang的線性代數:《Introduction to Linear Algebra》
  • 數理統計:概率論和各種統計學方法要做到基本掌握,找一本《概率論》重新學習下
  • 互動式數據分析框架:這裡指的是Apache Hive或Apache Kylin這樣的分析交互框架,首先學習Hive,有時間的話瞭解一下Kylin以及背後的數據挖掘思想
  • ·機器學習框架:小編還是建議可以從機器學習演算法的原理來進行學習,看到機器學習的框架,我覺得大家應該能想到很多種, 比如TensorFlow、Caffe8、Keras9、CNTK10、Torch711等,這裡領銜的是TensorFlow。小編建議大家選取其中的一個框架進行學習。
  • ·Udacity的課程是非常入門級的機器學習課程。
  • 我要推薦下我自己建的大數據開發學習群:119599574,專註大數據分析方法,大數據編程,大數據倉庫,大數據案例,人工智慧,數據挖掘都是純乾貨分享都是學大數據開發的,如果你正在學習大數據,歡迎初學和進階中的小伙伴。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 概述 對於二進位安裝,優點是可以安裝到任何路徑下,靈活性好,一臺伺服器可以安裝多個mysql。缺點是已經繹過編譯,性能不如源碼編譯得好,不能靈活定製編譯參數。如果用戶即不想安裝最簡單卻不夠靈活的RPM包,又不想安裝複雜費時的源碼包,那麼已編譯好的二進位包將是最好的選擇。 一.步驟1: 解壓glib包 ...
  • 今天需要在本地建個資料庫,就下載安裝sql,第一次弄,遇到了一些問題,環境添加到 sql的bin目錄,要用管理員命令運行cm,cd到sql/bin的目錄,輸入 net start mysql 運行sql,可能會出現密碼錯誤,到配置文件,在[mysqld]加入skip-grant-tables 可以不 ...
  • 一致性Hash演算法。 Hash演算法是為了保證數據均勻的分佈,例如有3個桶,分別是0號桶,1號桶和2號桶;現在有12個球,怎麼樣才能讓12個球平均分佈到3個桶中呢?使用Hash演算法的做法是,將12個球從0開始編號,得到這樣的一個序列:0,1,2,3,4,5,6,7,8,9,10,11。將這個序列中的每 ...
  • HBase 數據讀寫過程描述 我們熟悉的在 Hadoop 使用的文件格式有許多種,例如: Avro:用於 HDFS 數據序序列化與 Parquet:常見於 Hive 數據文件保存在 HDFS中 HFile HFile 是 HBase 使用的一種柱狀存儲文件,非常適合隨機和實時讀寫。 HFile 文件 ...
  • 是參考 一下兩篇博文整理了下。 Redis: https://www.cnblogs.com/5ishare/p/6492380.html RabbitMq: https://www.cnblogs.com/yangecnu/p/4227535.html 話不多說,下麵直接貼demo 百度雲盤 地址 ...
  • -- 統計 select count(*) as '當天記錄數' from web_product where date(p_createtime) = curdate(); select count(*) as '當天記錄數' from web_product where to_days(p_cr... ...
  • 一. Oracle邏輯備份介紹 Oracle邏輯備份的核心就是複製數據;Oracle提供的邏輯備份與恢復的命令有exp/imp,expdp/impdp。當然像表級複製(create table table_back as select * from table)也算是一種邏輯備份。Oracle邏輯備 ...
  • 近日在做一個區塊鏈積分轉代幣的APP,牽涉到資料庫中表的記錄刪除問題, 如果一條條刪除那可真是累人。遂考慮直接進入mysql直接清空表或者刪除表中數據。 本文記錄一下這2種操作模式的區別,目標對象是表wp_comments,裡面的所有留言均是垃圾留言,均可刪除。然後便有了以下2種方式(進入mysql ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...