大數(shù)據(jù)開發(fā)跟大數(shù)據(jù)平臺開發(fā)有區(qū)別嗎?
大數(shù)據(jù)是我的主要研究方向之一,我也是大數(shù)據(jù)方向的研究生,所以我來討論一下這個問題。
首先,大數(shù)據(jù)開發(fā)通常是指基于大數(shù)據(jù)產(chǎn)業(yè)鏈的一系列開發(fā)任務(wù),涉及大數(shù)據(jù)平臺開發(fā)、大數(shù)據(jù)應(yīng)用開發(fā)、大數(shù)據(jù)分析等。,此外還開發(fā)數(shù)據(jù)收集產(chǎn)品和數(shù)據(jù)整理產(chǎn)品等。如果向上延伸,一些大數(shù)據(jù)開發(fā)任務(wù)也與人工智能開發(fā)任務(wù)密切相關(guān)。
大數(shù)據(jù)平臺的發(fā)展通常有兩層含義。一個是開發(fā)大數(shù)據(jù)平臺本身,屬于研發(fā);amp發(fā)展任務(wù)。比如大數(shù)據(jù)平臺Hadoop,就是用Java語言開發(fā)的。整個大數(shù)據(jù)平臺還涉及一系列產(chǎn)品,包括Hbase、Hive、Avro、Zookeeper、Pig、Mahout、Cassandra等。,而開發(fā)這些產(chǎn)品也需要龐大的團隊。開發(fā)大數(shù)據(jù)平臺的程序員往往需要有豐富的開發(fā)經(jīng)驗和強大的研發(fā)能力,能夠構(gòu)建穩(wěn)定的分布式計算系統(tǒng)。
另一層意思是在大數(shù)據(jù)平臺下開發(fā)應(yīng)用,比如Hadoop、Spark平臺。這部分開發(fā)通常屬于應(yīng)用級開發(fā),難度相對較小,但往往需要緊密聯(lián)系具體場景,要求開發(fā)者具備一定的行業(yè)背景知識。
目前,大數(shù)據(jù)應(yīng)用的發(fā)展主要有兩項任務(wù)。一是將現(xiàn)有軟件產(chǎn)品轉(zhuǎn)化為大數(shù)據(jù)。二是針對特定的大數(shù)據(jù)需求,開發(fā)新的大數(shù)據(jù)應(yīng)用。目前因為是大數(shù)據(jù)應(yīng)用的初級階段,大數(shù)據(jù)轉(zhuǎn)型的開發(fā)任務(wù)會更多,未來新的大數(shù)據(jù)開發(fā)任務(wù)會逐漸增加。
相比大數(shù)據(jù)開發(fā),大數(shù)據(jù)分析也需要編碼。例如,機器學習是目前常用的數(shù)據(jù)分析方法。機器學習需要算法設(shè)計、算法實現(xiàn)、算法訓練、算法驗證、算法應(yīng)用。雖然算法設(shè)計是機器學習的核心,但是算法實現(xiàn)也需要程序員來完成具體的開發(fā)過程。
本人從事互聯(lián)網(wǎng)行業(yè)多年,目前在讀計算機專業(yè)研究生。我的主要研究方向是大數(shù)據(jù)和人工智能。我會陸續(xù)寫一些互聯(lián)網(wǎng)技術(shù)方面的文章,有興趣的朋友可以關(guān)注我。我相信我一定會有所收獲。
一個程序員要會多少種程序?
一個程序員應(yīng)該知道兩種程序。
因為所有的編程語言基本都搞清楚了,語法和用法規(guī)則都差不多,所以只要掌握兩門語言,學習其他語言就相對容易了。一種是常見的java語言、php語言和python語言,即業(yè)務(wù)邏輯處理語言,另一種是數(shù)據(jù)庫語言和數(shù)據(jù)存儲。