大数据作为继云计算、物联网之后IT行业又一颠覆性的技术,备受人们关注。大数据无处不在,包括金融、汽车、零售、餐饮、电信、能源、政务、医疗、体育、娱乐等在内的社会各行各业,都融入了大数据的印迹,大数据对人类的社会生产和生活必将产生重大而深远的影响。
对于一个国家而言,能否紧紧抓住大数据发展机遇,快速形成核心技术和应用参与新一轮的全球化竞争,将直接决定未来若干年世界范围内各国科技力量博弈的格局。大数据专业人才的培养是新一轮科技较量的基础,高等院校承担着大数据人才培养的重任。在我国,大数据专业已经成为一个炙手可热的“新工科”专业。目前,国内高校开设的大数据专业主要包括本科院校设立的“数据科学与大数据技术专业”和高职院校设立的“大数据技术与应用”专业。截至2021年,全国已经有1000余所高校设立了大数据专业。
高质量的教材是推进高校大数据专业建设的关键支撑。大数据分析全流程包括数据采集与预处理、数据存储与管理、数据处理与分析、数据可视化等内容,因此,大数据专业教材应该涵盖上述所有领域。但是,从市场上已有的教材来看,数据存储与管理、数据处理与分析、数据可视化等领域的教材已经非常丰富,完全可以满足高校教学的实际需求,唯独数据采集与预处理这个领域,目前相关教材还非常缺乏,不能满足广大高校的开课需求,这是本书被撰写的原因。
●写作背景
笔者带领的厦门大学数据库实验室团队,从2013年开始探索大数据教学,是国内高校较早进行大数据教学实践的团队之一,到目前为止,已经建立了一套较为完整的大数据专业教材体系,内容涵盖大数据入门课程、进阶课程和实训课程,我们同时也为教材配套打造了在线的“高校大数据课程公共服务平台”,为全国高校师生提供包括讲义PPT、授课视频、实验指南、课后习题等在内的大量大数据教学配套资源,目前平台已经成为国内高校知名大数据教学品牌,平台累计访问量超过1000万次,并荣获“2018年福建省教学成果二等奖”和“2018年厦门大学教学成果特等奖”。我们团队前期9本大数据教材的写作,为笔者撰写本书提供了很好的经验借鉴,使得笔者对如何安排本书知识结构有了更清晰的认识。笔者从2002年开始就专门从事数据库和数据挖掘的研究,过去近20年的研究和项目经验积累,也为本书的撰写打下了较好的基础。
●本书内容
本书共8章,详细介绍了大数据领域数据采集与预处理的相关理论和技术。
第1章概要性地介绍数据采集的概念、要点、数据源、数据采集方法、数据清洗、数据转换和数据脱敏;
第2章介绍大数据实验环境的搭建,包括Python、JDK、MySQL、Hadoop等软件的安装和使用方法,本章是后续章节开展实验操作的基础;
第3章介绍网络数据采集的方法,包括网络爬虫的概念、网页爬取与解析方法、Scrapy框架等;
第4章介绍分布式发布订阅消息系统Kafka的原理、安装和使用方法,并给出了Python操作Kafka的方法以及Kafka和MySQL的组合使用方法;
第5章介绍日志采集系统Flume的原理、安装和使用方法,包括Flume和Kafka的组合使用、采集日志文件到HDFS、采集MySQL数据到HDFS等;
第6章介绍数据仓库中的数据集成,包括数据集成方式、数据分发方式和数据集成技术;
第7章介绍ETL工具Kettle的安装和使用方法,并通过实例演示了使用Kettle转化MySQL数据库中的数据、把Excel文件导入到MySQL数据库中、把文本文件导入到MySQL数据库中、把本地文件加载到HDFS中以及把HDFS文件加载到MySQL数据库中的具体方法;
第8章介绍了如何使用pandas进行数据清洗,并通过4个综合实例展示了pandas的应用方法。
本书在构建大数据实验环境时,采用了Windows系统,没有采用Linux系统,主要是为了降低实验环境搭建门槛,降低教学难度,确保学生顺利完成实验。对于实际的企业大数据应用场景而言,一般都是采用Linux系统,为了让教学环境更加贴近企业实际生产环境,教学环节按道理应当首选Linux系统。实际上,笔者此前撰写的《大数据技术原理与应用》《大数据基础编程、实战和案例教程》《Spark编程基础》《Flink编程基础》等大数据教材,都采用了Linux系统。但是,本书在高校开课时,开课时间要早于《大数据技术原理与应用》《大数据基础编程、实战和案例教程》《Spark编程基础》《Flink编程基础》等教材的开课时间,在使用本书开课时,学生基本上还没有学习过大数据核心课程,也没有搭建过大数据实验环境,如果直接使用Linux系统开课,由于大数据各种软件在Linux系统下安装会比较繁琐,这就会给学生学习带来很大障碍,直接导致很多实验无法开展。因此,为了让教学实验环节能够顺利开展,笔者决定使用Windows系统来搭建大数据实验环境。
●本书特色
1.容易开展上机实践操作。本书采用Windows系统搭建实验环境,以Python作为编程语言,入门门槛低,很容易完成书上的各种上机实验。
2.包含丰富的实验案例。数据采集与预处理是一门注重培养学生动手能力的课程,为了提高学生的动手能力,全书提供了丰富的实验案例。
3.提供丰富的教学配套资源。为了帮助高校一线教师更好地开展教学工作,本书配套了丰富的教学资源,如讲义PPT、教学大纲、实验手册以及在线自主学习平台等。
●使用指南
本书共8章,授课教师可按模块化结构组织教学。下面的“学时建议表”给出了具体的学时建议。
学时建议表
章节 24学时
第1章 概述 2
第2章 实验环境搭建 2
第3章 网络数据采集 4
第4章 分布式消息系统Kafka 2
第5章 日志采集系统Flume 2
第6章 数据仓库中的数据集成 2
第7章 ETL工具Kettle 4
第8章 使用pandas进行数据清洗 6
此外,各位选用了本书的授课教师,可以通过人邮教育社区(www.ryjiaoyu.com),免费下载本书配套的丰富教学资源。
本书由林子雨执笔。在撰写过程中,厦门大学计算机科学系硕士研究生郑宛玉、陈杰祥、陈绍纬、周伟敬、阮敏朝、刘官山、黄连福等做了大量辅助性工作,在此,向这些同学的辛勤工作表示衷心的感谢。同时,感谢夏小云老师在书稿校对过程中的辛勤付出。
本教程官方网站是http://dblab.xmu.edu.cn/post/data-collection/,免费提供了全部配套资源的在线浏览和下载,并接受错误反馈和发布勘误信息。同时,在学习大数据课程的过程中,欢迎读者访问厦门大学数据库实验室建设的国内高校首个大数据课程公共服务平台(http://dblab.xmu.edu.cn/post/bigdata-teaching-platform/),该平台为教师教学和学生学习大数据课程提供讲义PPT、学习指南、备课指南、上机习题、技术资料、授课视频等全方位、一站式免费服务。
本书在撰写过程中,参考了大量网络资料,对大数据技术及其典型软件进行了系统梳理,有选择性地把一些重要知识纳入本书。由于笔者能力有限,本书难免存在不足之处,望广大读者不吝赐教。
林子雨
厦门大学计算机科学系数据库实验室
2021年9月
我要评论