大数据专业“数据采集与搜索”课程教学探索

来源 :现代信息科技 | 被引量 : 0次 | 上传用户:limengwy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要:针对大数据背景下数据的海量性、异构性、多样性等特点,对大数据专业开设的“数据采集与搜索”课程产生了非常大的影响。因此该课程不管是教学内容还是教学方法都需要紧紧跟随大数据时代特性进行更新和调整。文章对这两方面进行了教学探索,提出了需要增加和强化Flume数据采集框架、Kafka消息队列、Easticsearch数据搜索引擎以及Python爬虫技术等教学内容,同时也进一步探讨了实践式教学、反馈式教学、个性化教学等教学方式,以能够适应大数据专业的教学需求。
  关键词:数据采集;Flume;Kafka;Elasticsearch;Python爬虫;教学方法
  中图分类号:TP311;G434       文献标识码:A 文章编号:2096-4706(2021)05-0138-03
  Teaching Exploration of “Data Acquisition and Search” Course for Big Data Major
  JIANG Liang,TANG Zijun
  (Hunan College of Information,Changsha  410200,China)
  Abstract:In view of the characteristics of data mass,heterogeneity and diversity under the background of big data,it has a great influence on the course of “Data Acquisition and Search” offered by big data specialty. Therefore,both the teaching content and teaching methods of the course need to be updated and adjusted closely with the characteristics of the era of big data. The article has carried on the teaching exploration to these two aspects,proposes the need to increase and strengthen Flume data acquisition framework,Kafka message queue,Easticsearch data search engine,Python crawler technology and other teaching content,and further discusses practical teaching,feedback teaching,personalized teaching and other teaching methods,in order to meet the teaching needs of big data major.
  Keywords:data acquisition;Flume;Kafka;Elasticsearch;Python crawler;teaching method
  0  引  言
  在21世纪,大数据技术、数据挖掘、人工智能等技术已经成为智能时代发展的关键技术。而这些关键技术都是基于数据而进行相关的研究,因此数据采集是这些技术发展的前置条件,尤其是大数据的采集。而在大数据背景下,数据呈现的海量性、多样异构性特点对数据采集工作提出了巨大的挑战。传统的数据采集大多通过Python爬虫技术完成,并且目前高职院校开设的数据采集课程几乎都是围绕Python爬虫技术开展,这显然无法满足大数据时代的数据采集工作要求,并且海量数据下的搜索等知识点没有开设相关的课程内容。因此为了适应大数据背景下的数据采集与搜索,需要在“数据采集与搜索”课程中增加新的教学内容。同时为了更好地完成新内容的教学工作,也需要在教学方法上进行进一步的探讨。
  1  Flume概述
  Flume是一个分布式、高可用、高可靠海量日志采集、聚合和传输系统。Flume借助其内部的source、channel、sink等组件来完成数据采集工作的整个流程。source组件用来获取数据,channel组件可以缓存source组件采集的数据,sink组件则用来把缓存在channel的数据写入外部存储系统或者是下一个agent中。Flume通过将source、channel、sink等组件组装为agent并编写对应的配置文件来完成数据采集工作。Flume基本架构如图1所示。
  2  Kafka概述
  Kafka是一个分布式、高吞吐量、低延迟、分区、高容错,基于zookeeper协调的分布式发布订阅消息系统。其作为当前大数据生态中较流行的消息队列系统,其常用于处理事务日志和其它实时数据。
  在上述Kafka架构图中,broker是Kafka服务器,负责对外提供服务;zookeeper用于保存Kafka一些元数据;Kafka producer用来把数据写入到Kafka消息队列中;Kafka consumer用来从Kafka消息队列中读取消息进行处理。Kafka组件的架构如图2所示。
  3  Elasticsearch
  Elasticsearch是ELK生态中负责数据存储和搜索的组件,其是基于Lucene库的分布式、RESTful的开源搜索引擎。它是一个分布式、高实时性、高扩展的搜索与数据分析引擎。分布式指的是它能够实现分布式的实时文件存储,每個字段都被索引并且可搜索;高实时性指的是它能够支持实时分析的分布式搜索,在亿万数据中做到毫秒级响应;高扩展指的是它可以轻易支持扩展到上百台服务器,处理PB级结构化或非结构化数据。Elasticsearch架构如图3,Gateway代表ElasticSearch索引的持久化存储方式。Distributed Lucene Directory,它是Lucene里的一些列索引文件组成的目录,用来负责管理这些索引文件。包括数据的读取、写入以及索引的添加和合并等。Elasticsearch的架构如图3所示。   Search Moudle是Elasticsearch中负责搜索的功能模块,Index Module是Elasticsearch中负责建立索引的功能模块。Mapping用来明确字段的类型以及Elasticsearch如何索引数据、以及数据是否被索引到等。Discovery,主要是负责集群的master节点发现。Transport,其代表Elasticsearch内部节点,代表跟集群的客户端交互,包括Thrift、Memcached、Http等协议。RESTful style API,通过RESTful方式来实现API编程,完成交互功能。
  4  教学内容设计
  在大数据背景下,“数据采集与搜索”课程通过增加Flume、Kafka、Elasticsearch等教学内容,能够跟上时代潮流,从而让学生能够掌握大数据采集与搜索的前沿技术。
  4.1  Flume课程内容
  Flume作为一个分布式、可靠、高可用的海量日记采集系统,其可以分为source、channel、sink、Interceptor、channel selector、sink processor等六部分内容来进行课程设计,如表1所示。
  4.2  Kafka课程内容
  Kafka作为一个分布式、高吞吐量、分区、多副本的消息队列,其可以分为集群安装、Kafka基础知识、Kafka producer、Kafka consumer、性能调优等五部分内容来进行课程设计,如表2所示。
  4.3  Elasticsearch课程内容
  Elasticsearch作为一个分布式、高实时性、高扩展的搜索与数据分析引擎,其可以分为集群安装、Elasticsearch基础知识、Elasticsearch CRUD操作、Elasticsearch性能调优等四部分内容来进行课程设计,如表3所示。
  4.4  教学方式探究
  在大数据背景下,数据采集课程与时俱进地引入新的教学内容,教师也需要根据学生的思维能力和学习能力的差异性,进行教学模式的改革。充分利用多媒体技术的优势,与学生进行线上、线下的互动,提升学生兴趣,调动学生学习积极性,帮助学生掌握数据采集课程的重难点。另外需要构建新的考核系统,在学习能力、学习态度、知识模块、课题测验、考试成绩等维度进行差异考核,体现学习引领性。同时针对数据采集课程的内容,也需要在教学方式上进行更新,以能够适应大数据专业的教学需求。以实践式教学为基础,指导学生进行课程内容实践,再以实践结论来加强理论知识的理解。充分利用反馈式教学,及时获取教学反馈,不断调整和改进教学内容和进度。积极借助个性化教学来丰富教学方式、提升课堂吸引力,从而提高教学质量。
  5  教学案例
  “数据采集与搜索”课程,增加了Flume、Kafka、Elasticsearch等核心内容,旨在加强学生对大数据组件实践操作能力。通过构建包含这些课程内容的实践案例来对课程进行整体设计。利用Flume提供的众多类型的组件来完成各种类型数据源的数据采集工作,并借助Kafka集群的分布式来提高数据存储的可靠性,再通过把数据写入到Elasticsearch中,实现数据的快速查询与分析。其拓扑图如图4所示。
  5.1  实践步骤描述
  (1)Flume组件用来获取爬虫数据,其步骤为:
  步骤1:按照既定规则定义整个agent需要使用的组件;
  步骤2:配置exec source的type、command、channel selector等配置项;
  步骤3:配置file channel的type、dataDirs、checkpointDir、capacity等配置项;
  步骤4:配置avro sink的type、hostname、port等配置项;
  步骤5:通过把source、sink组件连接到channel上,组装为完整的agent。
  (2)Kafka组件用来完成Flume采集数据的读写,其步骤为:
  步骤1:利用Properties对象构建KafkaProducer对象;
  步骤2:获取爬虫数据,封装为ProducerRecord对象;
  步骤3:通过send方法将数据写入Kafka指定的Topic中;
  步骤4:利用Properties对象构建KafkaConsumer对象;
  步骤5:通过poll方法读取Kafka topic中的数据;
  步骤6:将KafkaConsumer读取的数据写入ElasticSearch集群中。
  (3)ElasticSearch组件用来实现数据的快速查询,其步骤为:
  步骤1:通过Settings.builder方法构建链接ES集群的参数;
  步骤2:使用TransportClient构建访问ES集群的客户端;
  步骤3:使用ES提供的API构建查询逻辑并执行。
  5.2  实践结果验证
  验证数据是否正确写入到Kafka集群中,其结果如图5所示。
  验证数据是否成功写入到Elasticsearch中,其结果如图6所示。
  6  结  论
  在大数据时代,不管是数据的海量性还是数据类型的多样性,都是数据采集需要面对的难题。针对高职院校的大数据专业,“数据采集与搜索”课程通过新增核心教学内容,构建层次分明、结构清晰的实践案例,并研究新型教学方式,探索出适合职业院校大数据人才的教学方案,培养出国家和社会需要的专业人才。
  参考文献:
  [1] 姜晓兵.基于大数据思维的经济管理类专业应用统计课程教学探索 [J].高教学刊.2020(12):94-97
  [2] 胡夕.Apache Kafka实战 [M].北京:电子工业出版社,2018.
  [3] 冯霞.基高职院校大数据方向数据库课程体系及教学模式的改革与探索 [J].电脑知识与技术.2021,17(9):101-102+112.
  [4] 王勇,張跃.Kafka与HBase在健康监测大数据平台中的应用研究 [J].软件导刊.2021,20(4):188-193
  [5] 马智勤,廖雪花,邓威,等.基于分布式ElasticSearch相似内容比对算法研究 [J].计算机与数字工程.2020,48(12):2843-2849.
  作者简介:蒋亮(1988—),男,汉族,湖南邵阳人,助教,硕士研究生,研究方向:数据挖掘、人工智能、大数据技术、机器视觉等;唐紫珺(1993—),女,汉族,湖南永州人,助教,硕士研究生,研究方向:生物信息学算法,大数据分析。
其他文献
摘 要:微电网是一种将分布式发电、储能装置、交直流负载、监控保护装置等有机结合在一起的小型配电系统,通过与配电网的信息交换,可以大大提高配电系统供电的可靠性与灵活性。不断完善微网接入标准,实现微电网与配电网的协调控制与发展,提高电网运行的经济性,是未来电网的重要任務之一。文章讨论基于高校实训室的模块化智能微电网的系统结构、运行方式与能源管理。  关键词:分布式发电;模块化;智能微网  中图分类号:
摘 要:首先给出SQL Server全库备份内容的结论,详细列出SQL Server执行全库备份时要执行的各个任务,指出全库备份中不同范围的事务日志备份在执行数据库恢复时的不同作用,列举全库备份操作中容易忽视和混淆的几个注意事项,解释了涉及数据库备份的几个LSN属性,最后以实例说明了SQL Server 2019全库备份的first_lsn和last_lsn产生的过程。  关键词:SQL Serv
摘 要:文章提出了一种基于IP的语音、传真、数据业务的综合业务接入终端实现方案。该方案采用无阻塞电路交换叠加IP数据交换的系统架构,电路交换采用无阻塞时分接续网络,IP数据交换采用三层硬转发和基于SIP的软转发,通过支持E/M信令、中国NO.1信令和SIP信令等多种呼叫信令以及支持ITU-T G.711a、G.729、G.723.1等多种语音编码,最终实现多种业务的接入,本地128线语音用户的接入
摘 要:自适应短波通信系统可以解决短波信道质量差、频率资源短缺等问题,而信道质量估计是其中的重要环节。为了避免基于深度学习的传统方法中基带信号过大而无法提取的问题,该文将基带信号转换成星座轨迹图,再分别采用AlexNet,ResNet和DenseNet三种卷积神经网络对其进行训练。实验结果验证了该文提出方法的可行性,且随着网络的加深,准确度也将提升。  关键词:自适应短波通信;卷积神经网络;星座轨
目的:研究TETRAX平衡仪联合康复教育对脑瘫肢体运动功能的影响。方法:选取2019年7月至2020年7月在我院就诊的50例脑瘫患儿作为研究对象,按照随机排列表法分成对照组和观察组,各25例,对照组予常规康复指导,观察组予TETRAX平衡仪联合康复教育,6个月后,对比两组治疗效果、粗大运动功能、肌张力、功能独立性和生活质量,以及稳定性和平衡性情况。结果:观察组治疗总有效率92.73%高于对照组的76.36%,治疗后,观察组GMFM评分、PSS及Berg评分、肌张力、认知功能、语言功能、运动功能独立性以及生
摘 要:2020年初,黔东南州榕江CINRAD/CA型固定式双偏振多普勒天气雷达完成各项功能调试并投入运行,该型号天气雷达主要用于监测、跟踪、预警强雷雨、冰雹、下击暴流、晴空风切变等中小尺度天气系统。由于其采用的是Linux操作系统,虽然具有更好的稳定性和安全性,但在人机交互上与Windows系统有一定的差异,文章主要介绍在Linux系统环境下业务软件的安装配置、历史基数据的反演方法及相关注意事项