摘 ?要:國內(nèi)已經(jīng)獲批“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)”的高校多達(dá)280所,但是由于概念不清,定位不明確,多數(shù)院校的人才培養(yǎng)目標(biāo)及課程設(shè)置大而統(tǒng)。文章界定大數(shù)據(jù)產(chǎn)業(yè)中的不同角色,以該專業(yè)的一個(gè)主要方向——大數(shù)據(jù)工程教育為例,研究如何正確把握人才培養(yǎng)定位、科學(xué)地設(shè)置課程,給出了培養(yǎng)數(shù)據(jù)工程師途徑的實(shí)例。最后,指出了大數(shù)據(jù)工程教育將要面對“有大數(shù)據(jù)可用”,“高校必須與數(shù)據(jù)企業(yè)合作”等主要問題的挑戰(zhàn)。
關(guān)鍵詞:大數(shù)據(jù)工程;人才培養(yǎng)定位;跨學(xué)科融合;數(shù)據(jù)分析技能差異;課程體系改革
中圖分類號(hào):G642 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2096-000X(2019)12-0076-03
Abstract: There are up to 280 colleges and universities in China whose the specialty provisions of Data Science and Big Data Technology Major have got approved. But due to the conception-confusing, orientation unclear, for most of colleges and universities their professional training goals and curriculum setting are large and unionized. This paper defines the different roles in big data industry, and take one of the main research branches in this major, big data engineering education as an example to discuss how to correctly form the orientation of talent cultivation and scientifically lay out the curriculum. Also, an illustration of the way to train data engineers is presented. Finally some challenges to be faced for big data engineering education, such as the problems of "big data is available", "universities must cooperate with data enterprises", and other major problems are pointed out in this paper.
Keywords: big data engineering; the orientation of talent cultivation; interdisciplinary integration; skill differences in data analysis ;curriculum system reform
引言
大數(shù)據(jù)時(shí)代的到來催生了大數(shù)據(jù)工程教育。我國從2014年中國科學(xué)院大學(xué)首個(gè)“大數(shù)據(jù)技術(shù)與應(yīng)用”專業(yè)到2018年已有285所高校新開“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)”。國內(nèi)現(xiàn)有文獻(xiàn)研究都局限于單一學(xué)科,例如統(tǒng)計(jì)學(xué)[1-5]、數(shù)學(xué)[6]、計(jì)算機(jī)學(xué)科[7-10]的大數(shù)據(jù)人才培養(yǎng)模式研究。但是對數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)與大數(shù)據(jù)工程教育認(rèn)識(shí)模糊,缺乏對數(shù)據(jù)工程師及數(shù)據(jù)科學(xué)家內(nèi)涵的研究,導(dǎo)致對該專業(yè)課程體系認(rèn)識(shí)不足,課程設(shè)置隨意性大,人才培養(yǎng)模式趨同,辦學(xué)特色不鮮明。
一、大數(shù)據(jù)工程教育有關(guān)概念
大數(shù)據(jù)工程。數(shù)據(jù)工程是工程計(jì)算系統(tǒng)、計(jì)算機(jī)軟件或部分通過數(shù)據(jù)分析提取信息的多學(xué)科實(shí)踐[11]。大數(shù)據(jù)工程是圍繞著大量數(shù)據(jù)的設(shè)計(jì)、部署、獲取、維護(hù)(存儲(chǔ))和建模分析的計(jì)算機(jī)科學(xué)與統(tǒng)計(jì)學(xué)等學(xué)科的綜合實(shí)踐。與大數(shù)據(jù)分析涉及數(shù)據(jù)的高級(jí)計(jì)算不同,大數(shù)據(jù)工程只涉及系統(tǒng)和設(shè)置的設(shè)計(jì)和部署,是計(jì)算實(shí)施的前提。
數(shù)據(jù)分析員。做查詢和處理數(shù)據(jù)、提供報(bào)告、總結(jié)和可視化數(shù)據(jù)的人員。對如何利用現(xiàn)有的工具和方法來解決一個(gè)問題有很強(qiáng)的理解,并以特設(shè)報(bào)告和圖表去幫助他人了解具體的查詢。然而,不被期望去處理大數(shù)據(jù)分析,也不背期望具有數(shù)學(xué)或研究背景去開發(fā)新算法。
數(shù)據(jù)工程師。為數(shù)據(jù)科學(xué)家分析大數(shù)據(jù)準(zhǔn)備“大數(shù)據(jù)”基礎(chǔ)設(shè)施的數(shù)據(jù)專業(yè)人士,是能設(shè)計(jì)、建設(shè)、整合各種資源的數(shù)據(jù),并管理大數(shù)據(jù)的軟件工程師。可寫復(fù)雜的查詢,確保它是容易訪問、工作順利;還可以在大數(shù)據(jù)集上運(yùn)行一些ETL(提取,轉(zhuǎn)換和加載),并創(chuàng)建大數(shù)據(jù)倉庫以可用于報(bào)告或供數(shù)據(jù)科學(xué)家分析。數(shù)據(jù)工程師注重設(shè)計(jì)和架構(gòu),通常不期望他們知道任何機(jī)器學(xué)習(xí)或大數(shù)據(jù)分析。
數(shù)據(jù)科學(xué)家。能夠把原始數(shù)據(jù)轉(zhuǎn)化為純凈見解的人。數(shù)據(jù)科學(xué)家應(yīng)用統(tǒng)計(jì),機(jī)器學(xué)習(xí)和分析方法來解決關(guān)鍵業(yè)務(wù)問題。他們的主要功能是幫助單位組織把他們的大數(shù)據(jù)量變成有價(jià)值和可操作的見解。與“數(shù)據(jù)分析師”相比,除了數(shù)據(jù)分析能力之外,數(shù)據(jù)科學(xué)家應(yīng)具有較強(qiáng)的編程技能、設(shè)計(jì)新算法、處理大數(shù)據(jù)的能力、具備領(lǐng)域知識(shí)的一些專業(yè)知識(shí)。此外,數(shù)據(jù)科學(xué)家還被期望通過可視化技術(shù),建立數(shù)據(jù)科學(xué)應(yīng)用程序,或敘述有關(guān)他們的數(shù)據(jù)(業(yè)務(wù))問題的解決方案的有趣的故事、解釋和提交他們的研究結(jié)果。
案例1:建立企業(yè)銷售數(shù)據(jù)池。這是一個(gè)大數(shù)據(jù)系統(tǒng)設(shè)計(jì)問題,需要數(shù)據(jù)工程師完成:通過集成來自多個(gè)來源的數(shù)據(jù)創(chuàng)建數(shù)據(jù)池、以規(guī)則的時(shí)間間隔(可能每周)自動(dòng)更新數(shù)據(jù)、數(shù)據(jù)的可用性分析(24小時(shí),甚至每天)、易于訪問和無縫部署分析儀表板的體系結(jié)構(gòu)等目標(biāo)。
案例2:企業(yè)銷售數(shù)據(jù)分析及應(yīng)用。對數(shù)據(jù)分析員,需要了解企業(yè)的現(xiàn)狀與預(yù)期,收集數(shù)據(jù),會(huì)用基本統(tǒng)計(jì)分析方法解決小問題,例如銷售額下降問題。會(huì)提取銷售商品信息、對數(shù)據(jù)進(jìn)行整理匯總,用Python、Tableau可視化展示。對數(shù)據(jù)科學(xué)家,則需具有較強(qiáng)的R或Python等統(tǒng)計(jì)軟件編程技能,會(huì)利用交叉列表解決用戶流失問題、利用多元回歸解決廣告組合推薦問題、利用logistic回歸解決行為預(yù)測問題、利用K-Means聚類方法選擇目標(biāo)用戶群,利用決策樹方法選擇長期用戶,能借助于深度學(xué)習(xí)方法,從用戶評價(jià)中提取用戶對事物的評價(jià),分析用戶對產(chǎn)品的態(tài)度和情感等深刻問題。
二、不同角色的數(shù)據(jù)分析技能的差異
數(shù)據(jù)工程師、數(shù)據(jù)科學(xué)家等大數(shù)據(jù)產(chǎn)業(yè)中的不同角色決定他們所需技能與使用的工具的差異。
分析員一般不做大數(shù)據(jù)分析,只需要對一些核心技能有基本了解。數(shù)據(jù)分析員的必需技能是統(tǒng)計(jì)、數(shù)據(jù)修改、數(shù)據(jù)可視化、探索性數(shù)據(jù)分析,主要工具有:微軟Excel,SPSS,SAS,SPSS Modeler,SAS數(shù)據(jù)挖掘器,SQL,微軟Access,Tableau,SSAS。
數(shù)據(jù)工程師的目標(biāo)是優(yōu)化大數(shù)據(jù)生態(tài)系統(tǒng)的性能。其技能和工具是:Hadoop,MapReduce,Hive,Pig、MySQL、MongoDB、Cassandra、數(shù)據(jù)流、NoSQL、SQL編程。
數(shù)據(jù)科學(xué)家要探索數(shù)據(jù),提出正確的問題,并提供有趣的發(fā)現(xiàn)。他應(yīng)該有非常廣泛的關(guān)于機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘,統(tǒng)計(jì)和大數(shù)據(jù)基礎(chǔ)設(shè)施方面的不同技術(shù)知識(shí);應(yīng)該有與接觸過各種數(shù)據(jù)集的工作經(jīng)驗(yàn),并能夠在大數(shù)據(jù)上有效和高效運(yùn)行算法,保持最新的最前沿的技術(shù)。對于數(shù)據(jù)科學(xué)家,了解計(jì)算機(jī)科學(xué)基礎(chǔ)和編程,包括語言和數(shù)據(jù)庫技術(shù)的經(jīng)驗(yàn)是必不可少的,技能和工具是:Python,R,Scala,Apache Spark,Hadoop,數(shù)據(jù)挖掘工和算法,機(jī)器學(xué)習(xí)、統(tǒng)計(jì)。
數(shù)據(jù)工程師與數(shù)據(jù)科學(xué)家這兩個(gè)角色有很多重疊。例如,數(shù)據(jù)科學(xué)家可能使用Hadoop生態(tài)系統(tǒng)來為其數(shù)據(jù)問題提供答案,而數(shù)據(jù)工程師可能正在編程一個(gè)迭代機(jī)器學(xué)習(xí)算法以在Spark集群上運(yùn)行。
三、大數(shù)據(jù)工程教育方向的人才培養(yǎng)定位
大數(shù)據(jù)工程教育方向的人才培養(yǎng)定位要依據(jù)計(jì)算機(jī)科學(xué)及統(tǒng)計(jì)學(xué)科的優(yōu)勢,結(jié)合高校的層次及地域分布,還要迎合大數(shù)據(jù)行業(yè)崗位需求,不同高校的人才培養(yǎng)定位是不同的,但是都應(yīng)以數(shù)據(jù)為中心。對于定位于數(shù)據(jù)科學(xué)家的,則還需以數(shù)學(xué)計(jì)算/統(tǒng)計(jì)分析為主。實(shí)踐中,普通本科院校很難在數(shù)據(jù)工程師與數(shù)據(jù)科學(xué)家之間只選其一,往往是對兩者進(jìn)行折中,旨在培養(yǎng)大數(shù)據(jù)科學(xué)與工程領(lǐng)域的復(fù)合型中高級(jí)技術(shù)人才,畢業(yè)生熟練掌握大數(shù)據(jù)采集、處理、分析與應(yīng)用的技術(shù)與核心技能,具備大數(shù)據(jù)處理、挖掘、可視化、大數(shù)據(jù)系統(tǒng)集成、管理維護(hù)等能力。具體培養(yǎng)要求主要有:1. 掌握數(shù)據(jù)采集、清洗、存儲(chǔ)、分析、挖掘和可視化的方法,具備從事相關(guān)工作的能力;2. 具備整合不同數(shù)據(jù)源,不同結(jié)構(gòu)類型數(shù)據(jù)的能力和探索數(shù)據(jù)背后價(jià)值的能力;3. 經(jīng)過系統(tǒng)化的訓(xùn)練,具有參與實(shí)際軟件開發(fā)項(xiàng)目的經(jīng)歷,具備作為大數(shù)據(jù)工程師從事工程實(shí)踐所需的專業(yè)能力;4. 掌握數(shù)理統(tǒng)計(jì)的基礎(chǔ)知識(shí)、形成數(shù)據(jù)統(tǒng)計(jì)分析的核心技能;特別是到達(dá)大數(shù)據(jù)處理的基本要求:掌握Linux和Bash腳本,能用Python或R替代大部分的大數(shù)據(jù)技術(shù)語言java或Scala的編碼。
四、大數(shù)據(jù)工程方向的課程設(shè)置
在“大數(shù)據(jù)”的領(lǐng)域,新的查詢和編程接口是必需的,還需要新的計(jì)算模式。如果高校是側(cè)重于數(shù)據(jù)工程方向,那么,數(shù)據(jù)工程課程應(yīng)包括計(jì)算機(jī)科學(xué)的多個(gè)領(lǐng)域的主題:數(shù)據(jù)庫系統(tǒng),分布式計(jì)算,算法和機(jī)器學(xué)習(xí)。具體是:Scala或java;數(shù)據(jù)并行計(jì)算、SQL查詢處理、流水線式的查詢執(zhí)行、查詢計(jì)劃選擇、圖分析、迭代計(jì)算、分布式NoSQL系統(tǒng)、多租戶資源按規(guī)模分配、Spark并行計(jì)算導(dǎo)論、BTrace教程、MapReduce工作原理、數(shù)據(jù)分割和分配、Amazon網(wǎng)路服務(wù)簡介、Kafka在現(xiàn)代數(shù)據(jù)處理中的作用、分布式數(shù)據(jù)流處理(執(zhí)行)、分布式數(shù)據(jù)流處理(容錯(cuò))。
主要實(shí)踐教學(xué)包括C語言程序設(shè)計(jì)實(shí)訓(xùn)、數(shù)據(jù)可視化課程設(shè)計(jì)、數(shù)據(jù)挖掘?qū)嶒?yàn)等。
五、成為大數(shù)據(jù)工程師的歷程
依據(jù)大數(shù)據(jù)從業(yè)者的不同的角色和要求,學(xué)生可以先根據(jù)個(gè)人興趣和目標(biāo)選擇學(xué)習(xí)大數(shù)據(jù),成為大數(shù)據(jù)工程師的路徑線路。
為方便,記Bash 腳本(Bash入門+大量實(shí)踐)→Python個(gè)性化Python(用Python 學(xué)習(xí)數(shù)據(jù)科學(xué)的路徑)或Java(編程入門:開始用Java代碼+中級(jí)和高級(jí)Java編程+面向?qū)ο蟮腏ava編程:數(shù)據(jù)結(jié)構(gòu)+超越專業(yè)化)→云(大數(shù)據(jù)技術(shù)基礎(chǔ)+某個(gè)領(lǐng)域大數(shù)據(jù)+該領(lǐng)域大數(shù)據(jù)實(shí)踐)→Hadoop→HDFS9大數(shù)據(jù)和Hadoop要點(diǎn)+大數(shù)據(jù)基礎(chǔ)學(xué)習(xí)+Hadoop入門套件+閱讀:《Hadoop集群部署》)為“基礎(chǔ)”,則
對于大數(shù)據(jù)工程師:基礎(chǔ)→Kafka(完整Apache Kafka課程入門+Apache Kafka 基礎(chǔ)學(xué)習(xí)及高級(jí)主題+閱讀:《學(xué)習(xí)Apache Kafka》);
對于大數(shù)據(jù)分析,需在大數(shù)據(jù)工程師的線路上增加一點(diǎn)Apache:“對于大數(shù)據(jù)工程師”→Apache 風(fēng)暴(實(shí)時(shí)分析與Apache風(fēng)暴+閱讀材料:Apache風(fēng)暴(文檔))或Apache 運(yùn)動(dòng)(閱讀材料:Apache 運(yùn)動(dòng)(文檔)+某運(yùn)動(dòng)流開發(fā)商資源)或Apache Spark(數(shù)據(jù)科學(xué)與工程與Apache+閱讀材料:Apache Spark 流(文檔))。
對于大數(shù)據(jù)工程師且大數(shù)據(jù)分析,有三條線路:
1. 基礎(chǔ)→Mapreduce(HDFS下覆蓋)→Procedural語言(選擇語言)→Pig(Apache Pig+Hadoop編程與Apache Pig+閱讀:《Pig編程》)→Apache Spark(數(shù)據(jù)科學(xué)與工程與Apache+閱讀材料:《學(xué)習(xí)Spark》);
2. 基礎(chǔ)→Mapreduce(HDFS下覆蓋)→SQL(使用MyS
QL管理大數(shù)據(jù)+SQL課程+PostgreSQL入門指南+書:《高性能MySQL》)→Hive(應(yīng)用Hive 訪問Hadoop數(shù)據(jù)+學(xué)習(xí)Ap
ache Hadoop EcoSystem-Hive+閱讀:《Hive編程》)→Apache Spark(數(shù)據(jù)科學(xué)與工程與Apache+閱讀材料:《學(xué)習(xí)Spark》);
3. 基礎(chǔ)→Mapreduce(HDFS下覆蓋)→Apache Zookee
per(閱讀:《ZooKeeper》)。
各線路解讀如下:處理大數(shù)據(jù)的基本要求是掌握Linux和BASH腳本,由Java、Scala、Python或者R編寫的,建議選擇Python或Java。接下來,需要熟悉在云上的工作,在云上使用大數(shù)據(jù)。再接下來,需要了解分布式文件系統(tǒng),例如Hadoop分布式文件系統(tǒng)。學(xué)習(xí)者還可以研究一些與自己的域名相關(guān)的NoSQL數(shù)據(jù)庫。以上是每個(gè)大數(shù)據(jù)工程師必須知道的強(qiáng)制性基礎(chǔ)。如果能使用數(shù)據(jù)流來開發(fā)實(shí)時(shí)或近實(shí)時(shí)分析系統(tǒng),那么應(yīng)該走學(xué)習(xí)Kafka的路。如果能使用閑置的大量數(shù)據(jù),則采取MapReduce路徑,不需要學(xué)習(xí)Pig和Hive。
以上線路不是學(xué)習(xí)大數(shù)據(jù)技術(shù)的唯一途徑,例如,也可以是(1)大數(shù)據(jù)基礎(chǔ)(操作系統(tǒng)基礎(chǔ)+開發(fā)語言+關(guān)系數(shù)據(jù)庫+云數(shù)據(jù)庫+其它)-(2)大數(shù)據(jù)開發(fā)架構(gòu)(交互式處理構(gòu)架+批處理構(gòu)架+流式處理構(gòu)架+ lambda架構(gòu)+其它)-(3)機(jī)器學(xué)習(xí)算法(分類+回歸+強(qiáng)化學(xué)習(xí)+其它)-(4)深度學(xué)習(xí)與人工智能(CNN+RNN+GAN+GNN+其它)。
最后,搞大數(shù)據(jù)工程教育,高校要有真正意義上的大數(shù)據(jù)可用。除了利用政府極為有限開放的數(shù)據(jù)資源外,高校必須與數(shù)據(jù)企業(yè)合作。高校還要培養(yǎng)具有行業(yè)企業(yè)實(shí)際工作經(jīng)驗(yàn)的數(shù)據(jù)挖掘人才。
參考文獻(xiàn):
[1]田茂再.大數(shù)據(jù)時(shí)代統(tǒng)計(jì)學(xué)重構(gòu)研究中的幾個(gè)熱點(diǎn)問題[J].統(tǒng)計(jì)研究,2015,32(5):3-13.
[2]祝丹,陳立雙.大數(shù)據(jù)驅(qū)動(dòng)下統(tǒng)計(jì)學(xué)人才培養(yǎng)模式研究[J].統(tǒng)計(jì)與信息論壇,2016,31(2):87-92.
[3]孔曉瑞,劉夢玲,靳俊嬌.大數(shù)據(jù)時(shí)代背景下對應(yīng)用統(tǒng)計(jì)學(xué)專業(yè)的思考[J].高教學(xué)刊,2016(18):41-44.
[4]張學(xué)新.大數(shù)據(jù)時(shí)代本科應(yīng)用統(tǒng)計(jì)學(xué)專業(yè)課程改革探索[J].陰山學(xué)刊,2016,30(3):143-146.
[5]朱建平,張悅涵.大數(shù)據(jù)時(shí)代對傳統(tǒng)統(tǒng)計(jì)學(xué)變革的思考[J].統(tǒng)計(jì)研究,2016,33(2):3-9.
[6]孔環(huán),李曉.大數(shù)據(jù)時(shí)代數(shù)學(xué)專業(yè)就業(yè)前景分析及培養(yǎng)研究[J].山東青年政治學(xué)院學(xué)報(bào),2016,181(32):54-57.
[7]田緒紅,肖磊,黃瓊,等.大數(shù)據(jù)時(shí)代的計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)綜合改革[J].計(jì)算機(jī)教育,2015(19):12-16.
[8]楊恒伏.數(shù)據(jù)視閾下計(jì)算機(jī)專業(yè)人才培養(yǎng)模式探討[J].開封教育學(xué)院學(xué)報(bào),2015,35(9):69-70.
[9]趙永霞,彭玉華.大數(shù)據(jù)時(shí)代民辦高校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)人才培養(yǎng)模式研究[J].高等教育,2016(6):54.
[10]陳潔,張文翔.大數(shù)據(jù)視角下計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)建設(shè)探究[J].軟件導(dǎo)刊,2016,15(10):185-288.
[11]Clark Glymour,David Madigan, Daryl Pregibon, and Padhraic Smyth. Statistical inference and data mining[J].Communications of the ACM,1996,39(11):35-41.