首頁>Club>
以後想做大資料方面的,先從哪裡入手?先學好python,還是先從sql入手,求大佬給個明確的方向。
12
回覆列表
  • 1 # IT人劉俊明

    學習大資料是目前的一個熱潮,不論是高校的學生還是網際網路從業人員都在學習大資料知識,今天藉著這個問題跟大家聊一聊大資料的來龍去脈,以及如果要學習大資料應該從哪入手。另外,如果大家對大資料感興趣可以關注我,我會陸續寫一些關於大資料的科普文章。

    大資料涉及到以資料為中心的一系列處理步驟,涉及到資料的採集、整理、傳輸、儲存、安全、分析、呈現等具體內容。其中資料的採集涉及到物聯網技術,儲存和分析也依賴於雲計算平臺的支撐,同時還需要大規模的基礎資料框架作為資料分析環境,比如Hadoop、Spark等,而具體的分析則依賴於統計、機器學習等相關內容,另外還涉及到流處理等。

    大資料涉及到的內容比較多,其中一些內容也比較複雜,所以學習大資料需要一個系統的過程,下面我就以資料的流向為線索來說一下應該如何學習大資料。

    物聯網應用主要體現在六個方面,分別是:裝置、網路、平臺、分析處理、服務應用,以及貫穿這幾個部分的安全。物聯網關注的一個重要內容是裝置,物聯網的核心就是裝置之間的資訊交換,以及透過這些資訊完成各種控制。所以瞭解裝置是瞭解物聯網的第一步,裝置的主要組成包括:微控制器、輸入裝置、輸出裝置以及網路連線。

    微控制器的主機板有多種型別,在學習物聯網的初期通常選擇Arduino、Raspberry Pi(樹莓派),或者是英特爾的Edison(貴一些)。

    接下來就是資料要透過網路傳遞到雲計算平臺。

    資料的儲存和處理——雲計算

    物聯網裝置通常透過閘道器來連線到網際網路並接入到雲計算平臺,當然有的裝置也可以直接連線到雲端,雲計算平臺為大資料提供了數儲存和分析的支撐環境。

    雲計算平臺往往搭建在大型資料中心之上,當然也有規模並不太大的私有云,不管是大型的公有云還是小規模的私有云都是大量計算資源的整合,透過虛擬化技術實現資源的動態管理,以便於實現分散式儲存和計算。儲存大資料的資料庫目前是RDB結合文件資料庫的方式,結構化資料存在RDB資料庫中,以便於結合兩種資料庫的優點,當然掌握Sql是必要的。

    瞭解雲計算平臺的組成及作用是學習大資料的重要環節,接著就是在雲計算平臺搭建大型基礎資料框架,完成大資料分析處理。

    基礎資料處理框架——大資料分析

    大資料應用的重要環節是資料分析,透過資料分析能得出大資料的價值,而資料分析往往需要大型基礎資料處理框架,比如Hadoop、Spark。

    Hadoop、Spark能夠快速處理大量資料,Hadoop基於分散式磁碟處理大量資料,而Spark則在記憶體中完成資料的迭代處理,無論哪種方式都能快速完成資料的分析過程。

    資料分析又分為視覺化分析、發現分析和預測分析,其中視覺化分析的重要組成部分就是統計分析和機器學習兩種方式。

    機器學習分為監督學習和非監督學習兩個大類,這部分就需要透過各種演算法來完成具體的資料分析任務,比如迴歸、決策樹、貝葉斯、支援向量機等。

    關於演算法的實現語言,我比較推薦使用Python,我個人就是從Java轉向Python的。

    總結

    經過以上分析,學習大資料先從物聯網入手,瞭解物聯網的組成(不用自己焊板子),接著瞭解雲計算平臺的作用,然後開始搭建基礎資料處理平臺:Hadoop,選擇一門語言做演算法實現完成資料分析。

    目前做大資料比較常見的語言包括Java、Python和Scala,個人比較推薦Python,因為Python比較方便。

    如果你有關於大資料方面的問題可以諮詢我。

  • 2 # 課工場—武漢

    大資料開發學習有一定難度,零基礎入門首先要學習Java語言打基礎,一般而言,Java學習SE、EE,需要約3個月的時間;然後進入大資料技術體系的學習,主要學習Hadoop、Spark、Storm等。

    首先,讓我們來了解一下,大資料需要學習哪些技術?

    1、Java——Java可以編寫桌面應用程式、Web應用程式、分散式系統和嵌入式系統應用程式,是大資料學習的基礎;

    2、Linux——大資料開發通常在Linux環境下進行;

    3、Hadoop——分散式系統基礎架構,使用者可以充分利用叢集的威力進行高速運算和儲存;

    4、Avro與Protobuf——資料序列化系統,可以提供豐富的資料結構型別;

    5、HBase——分散式的、面向列的開源資料庫,是一個適合於非結構化資料儲存的資料庫;

    6、ZooKeeper——Hadoop和Hbase的重要元件;

    7、Hive——基於Hadoop的一個數據倉庫工具 ;

    8、phoenix——用Java編寫的基於JDBC API操作HBase的開源SQL引擎;

    9、Redis——key-value儲存系統;

    10、Flume——高可用、高可靠、分散式的海量日誌採集、聚合和傳輸的系統;

    11、SSM——Spring、SpringMVC、MyBatis三個開源框架;

    12、Kafka——一種高吞吐量的分散式釋出訂閱訊息系統;

    13、Spark——專為大規模資料處理而設計的快速通用的計算引擎 ;

    14、Scala——大資料開發重要框架的程式語言;

    15、Azkaban——可完成大資料流任務排程;

    16、Python與資料分析——可用於資料採集、資料分析以及資料視覺化;

    對於沒有基礎的人來說,學大資料難嗎?

    如果是計算機專業的學生,學大資料相對來說還是有一定基礎的,會比非計算機專業的人士好很多。由於現在各大高校幾乎沒有大資料專業,想學大資料的話,到計算機培訓機構學習效果會更好。而沒有任何計算機相關基礎的,想要學習大資料,難度還是很高的。因為培訓機構的培訓學習期一般都是4-6個月,要想在這短短的時間內學有所成,要付出的努力肯定要比別人多非常多!一旦在學習中有怠慢心理,那麼培訓結束後的學習成果肯定會比別人差很多。

    當然,除了個人的努力之外,選擇好的培訓機構也是十分重要的,這決定了你在這段時間內的學習是否有效、有用。建議在選擇培訓機構時,一定要多方面瞭解該培訓機構的資質,不要隨意聽信宣傳而導致誤選,畢竟學習成本高,只有真正學到知識了,花費才是值得的。

  • 中秋節和大豐收的關聯?
  • 關於許嵩和華晨宇,兩者對比有些意思,據你的瞭解,你對二位的音樂才能又有何評價?