大数据工程教育的探索
2019-09-10张学新
摘 要:国内已经获批“数据科学与大数据技术专业”的高校多达280所,但是由于概念不清,定位不明确,多数院校的人才培养目标及课程设置大而统。文章界定大数据产业中的不同角色,以该专业的一个主要方向——大数据工程教育为例,研究如何正确把握人才培养定位、科学地设置课程,给出了培养数据工程师途径的实例。最后,指出了大数据工程教育将要面对“有大数据可用”,“高校必须与数据企业合作”等主要问题的挑战。
关键词:大数据工程;人才培养定位;跨学科融合;数据分析技能差异;课程体系改革
中图分类号:G642 文献标志码:A 文章编号: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
引言
大數据时代的到来催生了大数据工程教育。我国从2014年中国科学院大学首个“大数据技术与应用”专业到2018年已有285所高校新开“数据科学与大数据技术专业”。国内现有文献研究都局限于单一学科,例如统计学[1-5]、数学[6]、计算机学科[7-10]的大数据人才培养模式研究。但是对数据科学与大数据技术专业与大数据工程教育认识模糊,缺乏对数据工程师及数据科学家内涵的研究,导致对该专业课程体系认识不足,课程设置随意性大,人才培养模式趋同,办学特色不鲜明。
一、大数据工程教育有关概念
大数据工程。数据工程是工程计算系统、计算机软件或部分通过数据分析提取信息的多学科实践[11]。大数据工程是围绕着大量数据的设计、部署、获取、维护(存储)和建模分析的计算机科学与统计学等学科的综合实践。与大数据分析涉及数据的高级计算不同,大数据工程只涉及系统和设置的设计和部署,是计算实施的前提。
数据分析员。做查询和处理数据、提供报告、总结和可视化数据的人员。对如何利用现有的工具和方法来解决一个问题有很强的理解,并以特设报告和图表去帮助他人了解具体的查询。然而,不被期望去处理大数据分析,也不背期望具有数学或研究背景去开发新算法。
数据工程师。为数据科学家分析大数据准备“大数据”基础设施的数据专业人士,是能设计、建设、整合各种资源的数据,并管理大数据的软件工程师。可写复杂的查询,确保它是容易访问、工作顺利;还可以在大数据集上运行一些ETL(提取,转换和加载),并创建大数据仓库以可用于报告或供数据科学家分析。数据工程师注重设计和架构,通常不期望他们知道任何机器学习或大数据分析。
数据科学家。能够把原始数据转化为纯净见解的人。数据科学家应用统计,机器学习和分析方法来解决关键业务问题。他们的主要功能是帮助单位组织把他们的大数据量变成有价值和可操作的见解。与“数据分析师”相比,除了数据分析能力之外,数据科学家应具有较强的编程技能、设计新算法、处理大数据的能力、具备领域知识的一些专业知识。此外,数据科学家还被期望通过可视化技术,建立数据科学应用程序,或叙述有关他们的数据(业务)问题的解决方案的有趣的故事、解释和提交他们的研究结果。
案例1:建立企业销售数据池。这是一个大数据系统设计问题,需要数据工程师完成:通过集成来自多个来源的数据创建数据池、以规则的时间间隔(可能每周)自动更新数据、数据的可用性分析(24小时,甚至每天)、易于访问和无缝部署分析仪表板的体系结构等目标。
案例2:企业销售数据分析及应用。对数据分析员,需要了解企业的现状与预期,收集数据,会用基本统计分析方法解决小问题,例如销售额下降问题。会提取销售商品信息、对数据进行整理汇总,用Python、Tableau可视化展示。对数据科学家,则需具有较强的R或Python等统计软件编程技能,会利用交叉列表解决用户流失问题、利用多元回归解决广告组合推荐问题、利用logistic回归解决行为预测问题、利用K-Means聚类方法选择目标用户群,利用决策树方法选择长期用户,能借助于深度学习方法,从用户评价中提取用户对事物的评价,分析用户对产品的态度和情感等深刻问题。
二、不同角色的数据分析技能的差异
数据工程师、数据科学家等大数据产业中的不同角色决定他们所需技能与使用的工具的差异。
分析员一般不做大数据分析,只需要对一些核心技能有基本了解。数据分析员的必需技能是统计、数据修改、数据可视化、探索性数据分析,主要工具有:微软Excel,SPSS,SAS,SPSS Modeler,SAS数据挖掘器,SQL,微软Access,Tableau,SSAS。
数据工程师的目标是优化大数据生态系统的性能。其技能和工具是:Hadoop,MapReduce,Hive,Pig、MySQL、MongoDB、Cassandra、数据流、NoSQL、SQL编程。
数据科学家要探索数据,提出正确的问题,并提供有趣的发现。他应该有非常广泛的关于机器学习,数据挖掘,统计和大数据基础设施方面的不同技术知识;应该有与接触过各种数据集的工作经验,并能够在大数据上有效和高效运行算法,保持最新的最前沿的技术。对于数据科学家,了解计算机科学基础和编程,包括语言和数据库技术的经验是必不可少的,技能和工具是:Python,R,Scala,Apache Spark,Hadoop,数据挖掘工和算法,机器学习、统计。
数据工程师与数据科学家这两个角色有很多重叠。例如,数据科学家可能使用Hadoop生态系统来为其数据问题提供答案,而数据工程师可能正在编程一个迭代机器学习算法以在Spark集群上运行。
三、大数据工程教育方向的人才培养定位
大数据工程教育方向的人才培养定位要依据计算机科学及统计学科的优势,結合高校的层次及地域分布,还要迎合大数据行业岗位需求,不同高校的人才培养定位是不同的,但是都应以数据为中心。对于定位于数据科学家的,则还需以数学计算/统计分析为主。实践中,普通本科院校很难在数据工程师与数据科学家之间只选其一,往往是对两者进行折中,旨在培养大数据科学与工程领域的复合型中高级技术人才,毕业生熟练掌握大数据采集、处理、分析与应用的技术与核心技能,具备大数据处理、挖掘、可视化、大数据系统集成、管理维护等能力。具体培养要求主要有:1. 掌握数据采集、清洗、存储、分析、挖掘和可视化的方法,具备从事相关工作的能力;2. 具备整合不同数据源,不同结构类型数据的能力和探索数据背后价值的能力;3. 经过系统化的训练,具有参与实际软件开发项目的经历,具备作为大数据工程师从事工程实践所需的专业能力;4. 掌握数理统计的基础知识、形成数据统计分析的核心技能;特别是到达大数据处理的基本要求:掌握Linux和Bash脚本,能用Python或R替代大部分的大数据技术语言java或Scala的编码。
四、大数据工程方向的课程设置
在“大数据”的领域,新的查询和编程接口是必需的,还需要新的计算模式。如果高校是侧重于数据工程方向,那么,数据工程课程应包括计算机科学的多个领域的主题:数据库系统,分布式计算,算法和机器学习。具体是:Scala或java;数据并行计算、SQL查询处理、流水线式的查询执行、查询计划选择、图分析、迭代计算、分布式NoSQL系统、多租户资源按规模分配、Spark并行计算导论、BTrace教程、MapReduce工作原理、数据分割和分配、Amazon网路服务简介、Kafka在现代数据处理中的作用、分布式数据流处理(执行)、分布式数据流处理(容错)。
主要实践教学包括C语言程序设计实训、数据可视化课程设计、数据挖掘实验等。
五、成为大数据工程师的历程
依据大数据从业者的不同的角色和要求,学生可以先根据个人兴趣和目标选择学习大数据,成为大数据工程师的路径线路。
为方便,记Bash 脚本(Bash入门+大量实践)→Python个性化Python(用Python 学习数据科学的路径)或Java(编程入门:开始用Java代码+中级和高级Java编程+面向对象的Java编程:数据结构+超越专业化)→云(大数据技术基础+某个领域大数据+该领域大数据实践)→Hadoop→HDFS9大数据和Hadoop要点+大数据基础学习+Hadoop入门套件+阅读:《Hadoop集群部署》)为“基础”,则
对于大数据工程师:基础→Kafka(完整Apache Kafka课程入门+Apache Kafka 基础学习及高级主题+阅读:《学习Apache Kafka》);
对于大数据分析,需在大数据工程师的线路上增加一点Apache:“对于大数据工程师”→Apache 风暴(实时分析与Apache风暴+阅读材料:Apache风暴(文档))或Apache 运动(阅读材料:Apache 运动(文档)+某运动流开发商资源)或Apache Spark(数据科学与工程与Apache+阅读材料:Apache Spark 流(文档))。
对于大数据工程师且大数据分析,有三条线路:
1. 基础→Mapreduce(HDFS下覆盖)→Procedural语言(选择语言)→Pig(Apache Pig+Hadoop编程与Apache Pig+阅读:《Pig编程》)→Apache Spark(数据科学与工程与Apache+阅读材料:《学习Spark》);
2. 基础→Mapreduce(HDFS下覆盖)→SQL(使用MyS
QL管理大数据+SQL课程+PostgreSQL入门指南+书:《高性能MySQL》)→Hive(应用Hive 访问Hadoop数据+学习Ap
ache Hadoop EcoSystem-Hive+阅读:《Hive编程》)→Apache Spark(数据科学与工程与Apache+阅读材料:《学习Spark》);
3. 基础→Mapreduce(HDFS下覆盖)→Apache Zookee
per(阅读:《ZooKeeper》)。
各线路解读如下:处理大数据的基本要求是掌握Linux和BASH腳本,由Java、Scala、Python或者R编写的,建议选择Python或Java。接下来,需要熟悉在云上的工作,在云上使用大数据。再接下来,需要了解分布式文件系统,例如Hadoop分布式文件系统。学习者还可以研究一些与自己的域名相关的NoSQL数据库。以上是每个大数据工程师必须知道的强制性基础。如果能使用数据流来开发实时或近实时分析系统,那么应该走学习Kafka的路。如果能使用闲置的大量数据,则采取MapReduce路径,不需要学习Pig和Hive。
以上线路不是学习大数据技术的唯一途径,例如,也可以是(1)大数据基础(操作系统基础+开发语言+关系数据库+云数据库+其它)-(2)大数据开发架构(交互式处理构架+批处理构架+流式处理构架+ lambda架构+其它)-(3)机器学习算法(分类+回归+强化学习+其它)-(4)深度学习与人工智能(CNN+RNN+GAN+GNN+其它)。
最后,搞大数据工程教育,高校要有真正意义上的大数据可用。除了利用政府极为有限开放的数据资源外,高校必须与数据企业合作。高校还要培养具有行业企业实际工作经验的数据挖掘人才。
参考文献:
[1]田茂再.大数据时代统计学重构研究中的几个热点问题[J].统计研究,2015,32(5):3-13.
[2]祝丹,陈立双.大数据驱动下统计学人才培养模式研究[J].统计与信息论坛,2016,31(2):87-92.
[3]孔晓瑞,刘梦玲,靳俊娇.大数据时代背景下对应用统计学专业的思考[J].高教学刊,2016(18):41-44.
[4]张学新.大数据时代本科应用统计学专业课程改革探索[J].阴山学刊,2016,30(3):143-146.
[5]朱建平,张悦涵.大数据时代对传统统计学变革的思考[J].统计研究,2016,33(2):3-9.
[6]孔环,李晓.大数据时代数学专业就业前景分析及培养研究[J].山东青年政治学院学报,2016,181(32):54-57.
[7]田绪红,肖磊,黄琼,等.大数据时代的计算机科学与技术专业综合改革[J].计算机教育,2015(19):12-16.
[8]杨恒伏.数据视阈下计算机专业人才培养模式探讨[J].开封教育学院学报,2015,35(9):69-70.
[9]赵永霞,彭玉华.大数据时代民办高校计算机科学与技术专业人才培养模式研究[J].高等教育,2016(6):54.
[10]陈洁,张文翔.大数据视角下计算机科学与技术专业建设探究[J].软件导刊,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.